from .models import Query
from datetime import datetime
from .utils import store_config, load_config
import numpy as np
import datetime as dt
from .cache import cache

import pandas as pd
import datetime as dt

PRICE_COLS = ['open', 'close', 'high', 'low', 'pre_close']
FORMAT = lambda x: '%.4f' % x
FREQS = {'D': '1DAY',
         'W': '1WEEK',
         'Y': '1YEAR',
         }
FACT_LIST = {
    'tor': 'turnover_rate',
    'turnover_rate': 'turnover_rate',
    'vr': 'volume_ratio',
    'volume_ratio': 'volume_ratio',
    'pe': 'pe',
    'pe_ttm': 'pe_ttm',
}
def MA(DF, N):
    return pd.Series.rolling(DF, N).mean()
    
class TushareClient(object):
    def __init__(self, token=None):
        self.config=load_config()
        if token is None or len(token) < 1:
            self.token = self.config.get("token")
            if self.token is None:
                print("本地没有找到token缓存,请输入token!")
        else:
            self.token = token
            self.config['token'] = token
            store_config(self.config)

    def trade_days(self, start_date=None, end_date=None, count=None) -> np.array:
        """
        获取指定范围交易日
        :param start_date: 开始日期
        :param end_date: 结束日期
        :param count: 数量
        :return:
        """
        end_date = dt.datetime.now() if end_date is None else end_date
        key = "交易日_base"
        with cache:
            cached = cache.get(key)
        if cached is None:
            df = self.trade_cal(end_date=(dt.datetime.now() + dt.timedelta(days=365)).strftime("%Y%m%d"),
                                is_open='1').get()
            days = np.array(pd.to_datetime(df['cal_date']).tolist())
            with cache:
                cache.set(key, days, expire=86400, retry=True)
            cached = days
        if start_date is None:
            return cached[cached <= pd.to_datetime(end_date.strftime("%Y-%m-%d"))][-count:]
        else:
            return cached[(cached >= pd.to_datetime(start_date.strftime("%Y-%m-%d"))) & (
                    cached <= pd.to_datetime(end_date.strftime("%Y-%m-%d")))]

    def last_closed_trade_day(self, end_date=None) -> dt.datetime:
        """最后一个收盘的交易日"""
        end_date = dt.datetime.now() if end_date is None else end_date
        trade_days = self.trade_days(end_date=end_date, count=5)
        if (dt.datetime.now() - trade_days[-1]).days == 0 and end_date.hour * 60 + end_date.minute < 901:
            # 今天是交易日，沒有收盤
            return trade_days[-2]
        else:
            return trade_days[-1]

    @staticmethod
    def last_quarters(count=10, end_date=None):
        """
        最新报告期
        :param end_date:
        :param count:
        :return:
        """
        end_date = dt.datetime.now() if end_date is None else end_date
        return pd.date_range(end=end_date.date(), periods=count, freq="Q")

    @staticmethod
    def clean_cache(tag: str = "api"):
        """
        清理指定类型的api缓存
        :param tag:
        :return:
        """
        with cache:
            cache.evict(tag=tag)  
        
    def stock_basic(self,ts_code: str = None, name: str = None, exchange: str = None, market: str = None, is_hs: str = None, list_status: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        基础信息
        https://tushare.pro/document/2?doc_id=25
        <参数>
        ts_code:str TS股票代码 N
        name:str 名称 N
        exchange:str 交易所 SSE上交所 SZSE深交所 HKEX港交所 N
        market:str 市场类别 N
        is_hs:str 是否沪深港通标的，N否 H沪股通 S深股通 N
        list_status:str 上市状态 L上市 D退市 P暂停上市 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        symbol:str 股票代码 Y
        name:str 股票名称 Y
        area:str 地域 Y
        industry:str 所属行业 Y
        fullname:str 股票全称 N
        enname:str 英文全称 N
        cnspell:str 拼音缩写 Y
        market:str 市场类型 Y
        exchange:str 交易所代码 N
        curr_type:str 交易货币 N
        list_status:str 上市状态 L上市 D退市 P暂停上市 N
        list_date:str 上市日期 Y
        delist_date:str 退市日期 N
        is_hs:str 是否沪深港通标的，N否 H沪股通 S深股通 N
        act_name:str 实控人名称 Y
        act_ent_type:str 实控人企业性质 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'symbol' : 'str', 'name' : 'str', 'area' : 'str', 'industry' : 'str', 'fullname' : 'str', 'enname' : 'str', 'cnspell' : 'str', 'market' : 'str', 'exchange' : 'str', 'curr_type' : 'str', 'list_status' : 'str', 'list_date' : 'str', 'delist_date' : 'str', 'is_hs' : 'str', 'act_name' : 'str', 'act_ent_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'symbol': '股票代码', 'name': '股票名称', 'area': '地域', 'industry': '所属行业', 'fullname': '股票全称', 'enname': '英文全称', 'cnspell': '拼音缩写', 'market': '市场类型', 'exchange': '交易所代码', 'curr_type': '交易货币', 'list_status': '上市状态L上市D退市P暂停上市', 'list_date': '上市日期', 'delist_date': '退市日期', 'is_hs': '是否沪深港通标的，N否H沪股通S深股通', 'act_name': '实控人名称', 'act_ent_type': '实控人企业性质'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stock_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_premarket(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        盘前数据
        https://tushare.pro/document/2?doc_id=329
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str TS股票代码 Y
        total_share:float 总股本 Y
        float_share:float 流通股本 Y
        pre_close:float 昨日收盘价 Y
        up_limit:float 涨停价 Y
        down_limit:float 跌停价 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'total_share' : 'float', 'float_share' : 'float', 'pre_close' : 'float', 'up_limit' : 'float', 'down_limit' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'total_share': '总股本', 'float_share': '流通股本', 'pre_close': '昨日收盘价', 'up_limit': '涨停价', 'down_limit': '跌停价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_premarket",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def trade_cal(self,exchange: str = None, cal_date: str = None, start_date: str = None, end_date: str = None, is_open: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        交易日历
        https://tushare.pro/document/2?doc_id=26
        <参数>
        exchange:str 交易所 SSE上交所 SZSE深交所 N
        cal_date:str 日历日期 N
        start_date:str  N
        end_date:str  N
        is_open:str 是否交易 0休市 1交易 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        exchange:str 交易所 SSE上交所 SZSE深交所 Y
        cal_date:str 日历日期 Y
        is_open:str 是否交易 0休市 1交易 Y
        pretrade_date:str 上一个交易日 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'exchange' : 'str', 'cal_date' : 'str', 'is_open' : 'str', 'pretrade_date' : 'str'}
        column_name_dict = {'exchange': '交易所SSE上交所SZSE深交所', 'cal_date': '日历日期', 'is_open': '是否交易0休市1交易', 'pretrade_date': '上一个交易日'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="trade_cal",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stock_st(self,ts_code: str = None, trade_date: str = None, type: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        ST股票列表
        https://tushare.pro/document/2?doc_id=397
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（格式：YYYYMMDD下同） N
        type:str 类型 N
        start_date:str 开始时间 N
        end_date:str 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        trade_date:str 交易日期 Y
        type:str 类型 Y
        type_name:str 类型名称 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'trade_date' : 'str', 'type' : 'str', 'type_name' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票名称', 'trade_date': '交易日期', 'type': '类型', 'type_name': '类型名称'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stock_st",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stock_hsgt(self,ts_code: str = None, trade_date: str = None, type: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        沪深港通股票列表
        https://tushare.pro/document/2?doc_id=398
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（格式：YYYYMMDD） N
        type:str 类型 N
        start_date:str 开始时间 N
        end_date:str 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        type:str 类型 Y
        name:str 股票名称 Y
        type_name:str 类型名称 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'type' : 'str', 'name' : 'str', 'type_name' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'type': '类型', 'name': '股票名称', 'type_name': '类型名称'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stock_hsgt",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def namechange(self,ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票曾用名
        https://tushare.pro/document/2?doc_id=100
        <参数>
        ts_code:str TS代码 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        name:str 证券名称 Y
        start_date:str 开始日期 Y
        end_date:str 结束日期 Y
        ann_date:str 公告日期 Y
        change_reason:str 变更原因 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'start_date' : 'str', 'end_date' : 'str', 'ann_date' : 'str', 'change_reason' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '证券名称', 'start_date': '开始日期', 'end_date': '结束日期', 'ann_date': '公告日期', 'change_reason': '变更原因'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="namechange",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stock_company(self,ts_code: str = None, exchange: str = None, status: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        上市公司基本信息
        https://tushare.pro/document/2?doc_id=112
        <参数>
        ts_code:str TS股票代码 N
        exchange:str 交易所代码 N
        status:str 状态 N
        exchange:str 交易所 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        com_name:str 公司全称 Y
        com_id:str 统一社会信用代码 Y
        chairman:str 法人代表 Y
        manager:str 总经理 Y
        secretary:str 董秘 Y
        reg_capital:float 注册资本 Y
        setup_date:str 注册日期 Y
        province:str 所在省份 Y
        city:str 所在城市 Y
        introduction:str 公司介绍 Y
        website:str 公司主页 Y
        email:str 电子邮件 Y
        office:str 办公室 Y
        ann_date:str 公告日期 N
        business_scope:str 经营范围 Y
        employees:int 员工人数 Y
        main_business:str 主要业务及产品 Y
        exchange:str 交易所代码SSE上交所 SZSE深交所 HKEX港交所 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'com_name' : 'str', 'com_id' : 'str', 'chairman' : 'str', 'manager' : 'str', 'secretary' : 'str', 'reg_capital' : 'float', 'setup_date' : 'str', 'province' : 'str', 'city' : 'str', 'introduction' : 'str', 'website' : 'str', 'email' : 'str', 'office' : 'str', 'ann_date' : 'str', 'business_scope' : 'str', 'employees' : 'int', 'main_business' : 'str', 'exchange' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'com_name': '公司全称', 'com_id': '统一社会信用代码', 'chairman': '法人代表', 'manager': '总经理', 'secretary': '董秘', 'reg_capital': '注册资本', 'setup_date': '注册日期', 'province': '所在省份', 'city': '所在城市', 'introduction': '公司介绍', 'website': '公司主页', 'email': '电子邮件', 'office': '办公室', 'ann_date': '公告日期', 'business_scope': '经营范围', 'employees': '员工人数', 'main_business': '主要业务及产品', 'exchange': '交易所代码SSE上交所SZSE深交所HKEX港交所'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stock_company",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_managers(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        上市公司管理层
        https://tushare.pro/document/2?doc_id=193
        <参数>
        ts_code:str 股票代码 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        name:str 姓名 Y
        gender:str 性别 Y
        lev:str 岗位类别 Y
        title:str 岗位 Y
        edu:str 学历 Y
        national:str 国籍 Y
        birthday:str 出生年份 Y
        begin_date:str 上任日期 Y
        end_date:str 离任日期 Y
        resume:str 个人简历 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'name' : 'str', 'gender' : 'str', 'lev' : 'str', 'title' : 'str', 'edu' : 'str', 'national' : 'str', 'birthday' : 'str', 'begin_date' : 'str', 'end_date' : 'str', 'resume' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'name': '姓名', 'gender': '性别', 'lev': '岗位类别', 'title': '岗位', 'edu': '学历', 'national': '国籍', 'birthday': '出生年份', 'begin_date': '上任日期', 'end_date': '离任日期', 'resume': '个人简历'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_managers",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_rewards(self,ts_code: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        管理层薪酬和持股
        https://tushare.pro/document/2?doc_id=194
        <参数>
        ts_code:str TS股票代码 Y
        end_date:str 报告期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        end_date:str 报告期 Y
        name:str 姓名 Y
        title:str 职务 Y
        reward:float 报酬 Y
        hold_vol:float 持股数 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'name' : 'str', 'title' : 'str', 'reward' : 'float', 'hold_vol' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '报告期', 'name': '姓名', 'title': '职务', 'reward': '报酬', 'hold_vol': '持股数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_rewards",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bse_mapping(self,o_code: str = None, n_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        北交所新旧代码映射
        https://tushare.pro/document/2?doc_id=375
        <参数>
        o_code:str 旧代码 N
        n_code:str 新代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        name:str 股票代码 Y
        o_code:str 原代码 Y
        n_code:str 新代码 Y
        list_date:str 上市日期 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'name' : 'str', 'o_code' : 'str', 'n_code' : 'str', 'list_date' : 'str'}
        column_name_dict = {'name': '股票代码', 'o_code': '原代码', 'n_code': '新代码', 'list_date': '上市日期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bse_mapping",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def new_share(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        IPO新股列表
        https://tushare.pro/document/2?doc_id=123
        <参数>
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        sub_code:str 申购代码 Y
        name:str 名称 Y
        ipo_date:str 上网发行日期 Y
        issue_date:str 上市日期 Y
        amount:float 发行总量（万股） Y
        market_amount:float 上网发行总量（万股） Y
        price:float 发行价格 Y
        pe:float 市盈率 Y
        limit_amount:float 个人申购上限（万股） Y
        funds:float 募集资金（亿元） Y
        ballot:float 中签率 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'sub_code' : 'str', 'name' : 'str', 'ipo_date' : 'str', 'issue_date' : 'str', 'amount' : 'float', 'market_amount' : 'float', 'price' : 'float', 'pe' : 'float', 'limit_amount' : 'float', 'funds' : 'float', 'ballot' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'sub_code': '申购代码', 'name': '名称', 'ipo_date': '上网发行日期', 'issue_date': '上市日期', 'amount': '发行总量万股', 'market_amount': '上网发行总量万股', 'price': '发行价格', 'pe': '市盈率', 'limit_amount': '个人申购上限万股', 'funds': '募集资金亿元', 'ballot': '中签率'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="new_share",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bak_basic(self,trade_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        备用列表
        https://tushare.pro/document/2?doc_id=262
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 股票代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str TS股票代码 Y
        name:str 股票名称 Y
        industry:str 行业 Y
        area:str 地域 Y
        pe:float 市盈率（动） Y
        float_share:float 流通股本（亿） Y
        total_share:float 总股本（亿） Y
        total_assets:float 总资产（亿） Y
        liquid_assets:float 流动资产（亿） Y
        fixed_assets:float 固定资产（亿） Y
        reserved:float 公积金 Y
        reserved_pershare:float 每股公积金 Y
        eps:float 每股收益 Y
        bvps:float 每股净资产 Y
        pb:float 市净率 Y
        list_date:str 上市日期 Y
        undp:float 未分配利润 Y
        per_undp:float 每股未分配利润 Y
        rev_yoy:float 收入同比（%） Y
        profit_yoy:float 利润同比（%） Y
        gpr:float 毛利率（%） Y
        npr:float 净利润率（%） Y
        holder_num:int 股东人数 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'industry' : 'str', 'area' : 'str', 'pe' : 'float', 'float_share' : 'float', 'total_share' : 'float', 'total_assets' : 'float', 'liquid_assets' : 'float', 'fixed_assets' : 'float', 'reserved' : 'float', 'reserved_pershare' : 'float', 'eps' : 'float', 'bvps' : 'float', 'pb' : 'float', 'list_date' : 'str', 'undp' : 'float', 'per_undp' : 'float', 'rev_yoy' : 'float', 'profit_yoy' : 'float', 'gpr' : 'float', 'npr' : 'float', 'holder_num' : 'int'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'industry': '行业', 'area': '地域', 'pe': '市盈率动', 'float_share': '流通股本亿', 'total_share': '总股本亿', 'total_assets': '总资产亿', 'liquid_assets': '流动资产亿', 'fixed_assets': '固定资产亿', 'reserved': '公积金', 'reserved_pershare': '每股公积金', 'eps': '每股收益', 'bvps': '每股净资产', 'pb': '市净率', 'list_date': '上市日期', 'undp': '未分配利润', 'per_undp': '每股未分配利润', 'rev_yoy': '收入同比百分比', 'profit_yoy': '利润同比百分比', 'gpr': '毛利率百分比', 'npr': '净利润率百分比', 'holder_num': '股东人数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bak_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        日线行情
        https://tushare.pro/document/2?doc_id=27
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_chg:float 涨跌幅 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_chg': '涨跌幅', 'vol': '成交量', 'amount': '成交额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def rt_k(self,topic: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        实时日线
        https://tushare.pro/document/2?doc_id=372
        <参数>
        topic:str  N
        ts_code:str 逗号隔开多个code Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        name: 股票名称 Y
        pre_close:float 昨收价 Y
        high:float 最高价 Y
        open:float 开盘价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        vol:int 成交量（股） Y
        amount:int 成交金额（元） Y
        num:int 成交笔数 Y
        ask_price1:float  N
        ask_volume1:float  N
        bid_price1:float  N
        bid_volume1:float  N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'pre_close' : 'float', 'high' : 'float', 'open' : 'float', 'low' : 'float', 'close' : 'float', 'vol' : 'int', 'amount' : 'int', 'num' : 'int', 'ask_price1' : 'float', 'ask_volume1' : 'float', 'bid_price1' : 'float', 'bid_volume1' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票名称', 'pre_close': '昨收价', 'high': '最高价', 'open': '开盘价', 'low': '最低价', 'close': '收盘价', 'vol': '成交量股', 'amount': '成交金额元', 'num': '成交笔数', 'ask_price1': '', 'ask_volume1': '', 'bid_price1': '', 'bid_volume1': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="rt_k",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_mins(self,ts_code: str = None, freq: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票基金指数es分钟
        https://tushare.pro/document/2?doc_id=370
        <参数>
        ts_code:str ts_code Y
        freq:str 分钟频度 Y
        start_date:datetime  N
        end_date:datetime 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_time:datetime 交易日期 Y
        close:float 收盘价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        freq:str 频率 N
        exchange:str 交易所 N
        vwap:float 平均价 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_time' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float', 'freq' : 'str', 'exchange' : 'str', 'vwap' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_time': '交易日期', 'close': '收盘价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'vol': '成交量', 'amount': '成交额', 'freq': '频率', 'exchange': '交易所', 'vwap': '平均价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_mins",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def rt_min(self,topic: str = None, freq: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        A股实时分钟
        https://tushare.pro/document/2?doc_id=374
        <参数>
        topic:str  N
        freq:str 1MIN,5MIN,15MIN,30MIN,60MIN Y
        ts_code:str  Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 基金代码 Y
        freq: 频度 Y
        time: 交易时间 Y
        open:float 开票 Y
        close:float 收盘 Y
        high:float 最高 Y
        low:float 最低 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'freq' : 'str', 'time' : 'str', 'open' : 'float', 'close' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'freq': '频度', 'time': '交易时间', 'open': '开票', 'close': '收盘', 'high': '最高', 'low': '最低', 'vol': '成交量', 'amount': '成交额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="rt_min",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_weekly_monthly(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, freq: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票周/月线行情(每日更新)
        https://tushare.pro/document/2?doc_id=336
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        freq:str 频率week周，month月 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        end_date:str 计算截止日期 Y
        freq:str 频率(周week,月month) Y
        open:float (周/月)开盘价 Y
        high:float (周/月)最高价 Y
        low:float (周/月)最低价 Y
        close:float (周/月)收盘价 Y
        pre_close:float 上一(周/月)收盘价 Y
        vol:float (周/月)成交量 Y
        amount:float (周/月)成交额 Y
        change:float (周/月)涨跌额 Y
        pct_chg:float (周/月)涨跌幅(未复权,如果是复权请用 通用行情接口) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'end_date' : 'str', 'freq' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'vol' : 'float', 'amount' : 'float', 'change' : 'float', 'pct_chg' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'end_date': '计算截止日期', 'freq': '频率周week,月month', 'open': '周/月开盘价', 'high': '周/月最高价', 'low': '周/月最低价', 'close': '周/月收盘价', 'pre_close': '上一周/月收盘价', 'vol': '周/月成交量', 'amount': '周/月成交额', 'change': '周/月涨跌额', 'pct_chg': '周/月涨跌幅未复权,如果是复权请用通用行情接口'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_weekly_monthly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_week_month_adj(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, freq: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票周/月线行情(复权--每日更新)
        https://tushare.pro/document/2?doc_id=365
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        freq:str 频率week周，month月 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        end_date:str 计算截止日期 Y
        freq:str 频率(周week,月month) Y
        open:float (周/月)开盘价 Y
        high:float (周/月)最高价 Y
        low:float (周/月)最低价 Y
        close:float (周/月)收盘价 Y
        pre_close:float 上一(周/月)收盘价【除权价，前复权】 Y
        open_qfq:float 前复权(周/月)开盘价 Y
        high_qfq:float 前复权(周/月)最高价 Y
        low_qfq:float 前复权(周/月)最低价 Y
        close_qfq:float 前复权(周/月)收盘价 Y
        open_hfq:float 后复权(周/月)开盘价 Y
        high_hfq:float 后复权(周/月)最高价 Y
        low_hfq:float 后复权(周/月)最低价 Y
        close_hfq:float 后复权(周/月)收盘价 Y
        vol:float (周/月)成交量 Y
        amount:float (周/月)成交额 Y
        change:float (周/月)涨跌额 Y
        pct_chg:float (周/月)涨跌幅 【基于除权后的昨收计算的涨跌幅：（今收-除权昨收）/除权昨收 】 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'end_date' : 'str', 'freq' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'open_qfq' : 'float', 'high_qfq' : 'float', 'low_qfq' : 'float', 'close_qfq' : 'float', 'open_hfq' : 'float', 'high_hfq' : 'float', 'low_hfq' : 'float', 'close_hfq' : 'float', 'vol' : 'float', 'amount' : 'float', 'change' : 'float', 'pct_chg' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'end_date': '计算截止日期', 'freq': '频率周week,月month', 'open': '周/月开盘价', 'high': '周/月最高价', 'low': '周/月最低价', 'close': '周/月收盘价', 'pre_close': '上一周/月收盘价【除权价，前复权】', 'open_qfq': '前复权周/月开盘价', 'high_qfq': '前复权周/月最高价', 'low_qfq': '前复权周/月最低价', 'close_qfq': '前复权周/月收盘价', 'open_hfq': '后复权周/月开盘价', 'high_hfq': '后复权周/月最高价', 'low_hfq': '后复权周/月最低价', 'close_hfq': '后复权周/月收盘价', 'vol': '周/月成交量', 'amount': '周/月成交额', 'change': '周/月涨跌额', 'pct_chg': '周/月涨跌幅【基于除权后的昨收计算的涨跌幅：今收-除权昨收/除权昨收】'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_week_month_adj",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def weekly(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        周线行情
        https://tushare.pro/document/2?doc_id=144
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        trade_date:str  Y
        close:float  Y
        open:float  Y
        high:float  Y
        low:float  Y
        pre_close:float  Y
        change:float  Y
        pct_chg:float  Y
        vol:float  Y
        amount:float  Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '', 'close': '', 'open': '', 'high': '', 'low': '', 'pre_close': '', 'change': '', 'pct_chg': '', 'vol': '', 'amount': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="weekly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def monthly(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        月线行情
        https://tushare.pro/document/2?doc_id=145
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        trade_date:str  Y
        close:float  Y
        open:float  Y
        high:float  Y
        low:float  Y
        pre_close:float  Y
        change:float  Y
        pct_chg:float  Y
        vol:float  Y
        amount:float  Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '', 'close': '', 'open': '', 'high': '', 'low': '', 'pre_close': '', 'change': '', 'pct_chg': '', 'vol': '', 'amount': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="monthly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def adj_factor(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        复权因子
        https://tushare.pro/document/2?doc_id=28
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（格式：YYYYMMDD，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        adj_factor:number 复权因子 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'adj_factor' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'adj_factor': '复权因子'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="adj_factor",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def daily_basic(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        每日指标
        https://tushare.pro/document/2?doc_id=32
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（格式：YYYYMMDD，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        trade_date:str 交易日期 Y
        close:number 当日收盘价 Y
        turnover_rate:number 换手率 Y
        turnover_rate_f:number 换手率(自由流通股) Y
        volume_ratio:number 量比 Y
        pe:number 市盈率（总市值/净利润） Y
        pe_ttm:number 市盈率（TTM） Y
        pb:number 市净率（总市值/净资产） Y
        ps:number 市销率 Y
        ps_ttm:number 市销率（TTM） Y
        dv_ratio:number 股息率（%） Y
        dv_ttm:number 股息率（TTM） （%） Y
        total_share:number 总股本 Y
        float_share:number 流通股本 Y
        free_share:number 自由流通股本 Y
        total_mv:number 总市值 Y
        circ_mv:number 流通市值 Y
        limit_status:int 涨跌停状态 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'str', 'turnover_rate' : 'str', 'turnover_rate_f' : 'str', 'volume_ratio' : 'str', 'pe' : 'str', 'pe_ttm' : 'str', 'pb' : 'str', 'ps' : 'str', 'ps_ttm' : 'str', 'dv_ratio' : 'str', 'dv_ttm' : 'str', 'total_share' : 'str', 'float_share' : 'str', 'free_share' : 'str', 'total_mv' : 'str', 'circ_mv' : 'str', 'limit_status' : 'int'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '当日收盘价', 'turnover_rate': '换手率', 'turnover_rate_f': '换手率自由流通股', 'volume_ratio': '量比', 'pe': '市盈率总市值/净利润', 'pe_ttm': '市盈率TTM', 'pb': '市净率总市值/净资产', 'ps': '市销率', 'ps_ttm': '市销率TTM', 'dv_ratio': '股息率百分比', 'dv_ttm': '股息率TTM百分比', 'total_share': '总股本', 'float_share': '流通股本', 'free_share': '自由流通股本', 'total_mv': '总市值', 'circ_mv': '流通市值', 'limit_status': '涨跌停状态'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="daily_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_limit(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        每日涨跌停价格
        https://tushare.pro/document/2?doc_id=183
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        offset:int 开始行数 N
        limit:int 每页最大条数 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str TS股票代码 Y
        pre_close:float 昨日收盘价 N
        up_limit:float 涨停价 Y
        down_limit:float 跌停价 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'pre_close' : 'float', 'up_limit' : 'float', 'down_limit' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'pre_close': '昨日收盘价', 'up_limit': '涨停价', 'down_limit': '跌停价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_limit",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def suspend_d(self,ts_code: str = None, suspend_type: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        每日停复牌信息
        https://tushare.pro/document/2?doc_id=214
        <参数>
        ts_code:str 股票代码(可输入多值) N
        suspend_type:str 停复牌类型：S-停牌,R-复牌 N
        trade_date:str 停复牌日期 N
        start_date:str 停复牌查询开始日期 N
        end_date:str 停复牌查询结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 停复牌日期 Y
        suspend_timing:str 日内停牌时间段 Y
        suspend_type:str 停复牌类型：S-停牌，R-复牌 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'suspend_timing' : 'str', 'suspend_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '停复牌日期', 'suspend_timing': '日内停牌时间段', 'suspend_type': '停复牌类型：S-停牌，R-复牌'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="suspend_d",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hsgt_top10(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, market_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        沪深股通十大成交股
        https://tushare.pro/document/2?doc_id=48
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        market_type:str 市场类型（1：沪市 3：深市） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        close:float 收盘价 Y
        change:float 涨跌幅 Y
        rank:str 资金排名 Y
        market_type:str 市场类型（1：沪市 3：深市） Y
        amount:float 成交金额 Y
        net_amount:float 净成交金额 Y
        buy:float 买入金额 Y
        sell:float 卖出金额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'close' : 'float', 'change' : 'float', 'rank' : 'str', 'market_type' : 'str', 'amount' : 'float', 'net_amount' : 'float', 'buy' : 'float', 'sell' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'close': '收盘价', 'change': '涨跌幅', 'rank': '资金排名', 'market_type': '市场类型1：沪市3：深市', 'amount': '成交金额', 'net_amount': '净成交金额', 'buy': '买入金额', 'sell': '卖出金额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hsgt_top10",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ggt_top10(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, market_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股通十大成交股
        https://tushare.pro/document/2?doc_id=49
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        market_type:str 市场类型 2：港股通（沪） 4：港股通（深） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        close:float 收盘价 Y
        p_change:float 涨跌幅 Y
        rank:str 资金排名 Y
        market_type:str 市场类型 2：港股通（沪） 4：港股通（深） Y
        amount:float 累计成交金额 Y
        net_amount:float 净买入金额 Y
        sh_amount:float 沪市成交金额 Y
        sh_net_amount:float 沪市净买入金额 Y
        sh_buy:float 沪市买入金额 Y
        sh_sell:float 沪市卖出金额 Y
        sz_amount:float 深市成交金额 Y
        sz_net_amount:float 深市净买入金额 Y
        sz_buy:float 深市买入金额 Y
        sz_sell:float 深市卖出金额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'close' : 'float', 'p_change' : 'float', 'rank' : 'str', 'market_type' : 'str', 'amount' : 'float', 'net_amount' : 'float', 'sh_amount' : 'float', 'sh_net_amount' : 'float', 'sh_buy' : 'float', 'sh_sell' : 'float', 'sz_amount' : 'float', 'sz_net_amount' : 'float', 'sz_buy' : 'float', 'sz_sell' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'close': '收盘价', 'p_change': '涨跌幅', 'rank': '资金排名', 'market_type': '市场类型2：港股通沪4：港股通深', 'amount': '累计成交金额', 'net_amount': '净买入金额', 'sh_amount': '沪市成交金额', 'sh_net_amount': '沪市净买入金额', 'sh_buy': '沪市买入金额', 'sh_sell': '沪市卖出金额', 'sz_amount': '深市成交金额', 'sz_net_amount': '深市净买入金额', 'sz_buy': '深市买入金额', 'sz_sell': '深市卖出金额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ggt_top10",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ggt_daily(self,trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股通每日成交统计
        https://tushare.pro/document/2?doc_id=196
        <参数>
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        buy_amount:float 买入成交金额（亿元） Y
        buy_volume:float 买入成交笔数（万笔） Y
        sell_amount:float 卖出成交金额（亿元） Y
        sell_volume:float 卖出成交笔数（万笔） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'buy_amount' : 'float', 'buy_volume' : 'float', 'sell_amount' : 'float', 'sell_volume' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'buy_amount': '买入成交金额亿元', 'buy_volume': '买入成交笔数万笔', 'sell_amount': '卖出成交金额亿元', 'sell_volume': '卖出成交笔数万笔'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ggt_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ggt_monthly(self,month: str = None, start_month: str = None, end_month: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股通每月成交统计
        https://tushare.pro/document/2?doc_id=197
        <参数>
        month:str 月度 N
        start_month:str 开始月度 N
        end_month:str 结束月度 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        month:str 交易日期 Y
        day_buy_amt:float 当月日均买入成交金额（亿元） Y
        day_buy_vol:float 当月日均买入成交笔数（万笔） Y
        day_sell_amt:float 当月日均卖出成交金额（亿元） Y
        day_sell_vol:float 当月日均卖出成交笔数（万笔） Y
        total_buy_amt:float 总买入成交金额（亿元） Y
        total_buy_vol:float 总买入成交笔数（万笔） Y
        total_sell_amt:float 总卖出成交金额（亿元） Y
        total_sell_vol:float 总卖出成交笔数（万笔） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'month' : 'str', 'day_buy_amt' : 'float', 'day_buy_vol' : 'float', 'day_sell_amt' : 'float', 'day_sell_vol' : 'float', 'total_buy_amt' : 'float', 'total_buy_vol' : 'float', 'total_sell_amt' : 'float', 'total_sell_vol' : 'float'}
        column_name_dict = {'month': '交易日期', 'day_buy_amt': '当月日均买入成交金额亿元', 'day_buy_vol': '当月日均买入成交笔数万笔', 'day_sell_amt': '当月日均卖出成交金额亿元', 'day_sell_vol': '当月日均卖出成交笔数万笔', 'total_buy_amt': '总买入成交金额亿元', 'total_buy_vol': '总买入成交笔数万笔', 'total_sell_amt': '总卖出成交金额亿元', 'total_sell_vol': '总卖出成交笔数万笔'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ggt_monthly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bak_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        备用行情
        https://tushare.pro/document/2?doc_id=255
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        name:str 股票名称 Y
        pct_change:float 涨跌幅 Y
        close:float 收盘价 Y
        change:float 涨跌额 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        pre_close:float 昨收价 Y
        vol_ratio:float 量比 Y
        turn_over:float 换手率 Y
        swing:float 振幅 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        selling:float 内盘 Y
        buying:float 外盘 Y
        total_share:float 总股本(万) Y
        float_share:float 流通股本(万) Y
        pe:float 市盈(动) Y
        industry:str 所属行业 Y
        area:str 所属地域 Y
        float_mv:float 流通市值 Y
        total_mv:float 总市值 Y
        avg_price:float 平均价 Y
        strength:float 强弱度(%) Y
        activity:float 活跃度(%) Y
        avg_turnover:float 笔换手 Y
        attack:float 攻击波(%) Y
        interval_3:float 近3月涨幅 Y
        interval_6:float 近6月涨幅 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'name' : 'str', 'pct_change' : 'float', 'close' : 'float', 'change' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'vol_ratio' : 'float', 'turn_over' : 'float', 'swing' : 'float', 'vol' : 'float', 'amount' : 'float', 'selling' : 'float', 'buying' : 'float', 'total_share' : 'float', 'float_share' : 'float', 'pe' : 'float', 'industry' : 'str', 'area' : 'str', 'float_mv' : 'float', 'total_mv' : 'float', 'avg_price' : 'float', 'strength' : 'float', 'activity' : 'float', 'avg_turnover' : 'float', 'attack' : 'float', 'interval_3' : 'float', 'interval_6' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'name': '股票名称', 'pct_change': '涨跌幅', 'close': '收盘价', 'change': '涨跌额', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'pre_close': '昨收价', 'vol_ratio': '量比', 'turn_over': '换手率', 'swing': '振幅', 'vol': '成交量', 'amount': '成交额', 'selling': '内盘', 'buying': '外盘', 'total_share': '总股本万', 'float_share': '流通股本万', 'pe': '市盈动', 'industry': '所属行业', 'area': '所属地域', 'float_mv': '流通市值', 'total_mv': '总市值', 'avg_price': '平均价', 'strength': '强弱度百分比', 'activity': '活跃度百分比', 'avg_turnover': '笔换手', 'attack': '攻击波百分比', 'interval_3': '近3月涨幅', 'interval_6': '近6月涨幅'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bak_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def income(self,ts_code: str = None, ann_date: str = None, f_ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, report_type: str = None, comp_type: str = None, is_calc: int = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        利润表
        https://tushare.pro/document/2?doc_id=33
        <参数>
        ts_code:str 股票代码 Y
        ann_date:str 公告日期（格式：YYYYMMDD，下同） N
        f_ann_date:str 实际公告日期 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        period:str 报告期 N
        report_type:str 报告类型 N
        comp_type:str 公司类型 N
        is_calc:int 是否计算报表 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 公告日期 Y
        f_ann_date:str 实际公告日期 Y
        end_date:str 报告期 Y
        report_type:str 报告类型 1合并报表 2单季合并 3调整单季合并表 4调整合并报表 5调整前合并报表 6母公司报表 7母公司单季表 8 母公司调整单季表 9母公司调整表 10母公司调整前报表 11调整前合并报表 12母公司调整前报表 Y
        comp_type:str 公司类型(1一般工商业2银行3保险4证券) Y
        end_type:str 报告期类型 Y
        basic_eps:float 基本每股收益 Y
        diluted_eps:float 稀释每股收益 Y
        total_revenue:float 营业总收入 Y
        revenue:float 营业收入 Y
        int_income:float 利息收入 Y
        prem_earned:float 已赚保费 Y
        comm_income:float 手续费及佣金收入 Y
        n_commis_income:float 手续费及佣金净收入 Y
        n_oth_income:float 其他经营净收益 Y
        n_oth_b_income:float 加:其他业务净收益 Y
        prem_income:float 保险业务收入 Y
        out_prem:float 减:分出保费 Y
        une_prem_reser:float 提取未到期责任准备金 Y
        reins_income:float 其中:分保费收入 Y
        n_sec_tb_income:float 代理买卖证券业务净收入 Y
        n_sec_uw_income:float 证券承销业务净收入 Y
        n_asset_mg_income:float 受托客户资产管理业务净收入 Y
        oth_b_income:float 其他业务收入 Y
        fv_value_chg_gain:float 加:公允价值变动净收益 Y
        invest_income:float 加:投资净收益 Y
        ass_invest_income:float 其中:对联营企业和合营企业的投资收益 Y
        forex_gain:float 加:汇兑净收益 Y
        total_cogs:float 营业总成本 Y
        oper_cost:float 减:营业成本 Y
        int_exp:float 减:利息支出 Y
        comm_exp:float 减:手续费及佣金支出 Y
        biz_tax_surchg:float 减:营业税金及附加 Y
        sell_exp:float 减:销售费用 Y
        admin_exp:float 减:管理费用 Y
        fin_exp:float 减:财务费用 Y
        assets_impair_loss:float 减:资产减值损失 Y
        prem_refund:float 退保金 Y
        compens_payout:float 赔付总支出 Y
        reser_insur_liab:float 提取保险责任准备金 Y
        div_payt:float 保户红利支出 Y
        reins_exp:float 分保费用 Y
        oper_exp:float 营业支出 Y
        compens_payout_refu:float 减:摊回赔付支出 Y
        insur_reser_refu:float 减:摊回保险责任准备金 Y
        reins_cost_refund:float 减:摊回分保费用 Y
        other_bus_cost:float 其他业务成本 Y
        operate_profit:float 营业利润 Y
        non_oper_income:float 加:营业外收入 Y
        non_oper_exp:float 减:营业外支出 Y
        nca_disploss:float 其中:减:非流动资产处置净损失 Y
        total_profit:float 利润总额 Y
        income_tax:float 所得税费用 Y
        n_income:float 净利润(含少数股东损益) Y
        n_income_attr_p:float 净利润(不含少数股东损益) Y
        minority_gain:float 少数股东损益 Y
        oth_compr_income:float 其他综合收益 Y
        t_compr_income:float 综合收益总额 Y
        compr_inc_attr_p:float 归属于母公司(或股东)的综合收益总额 Y
        compr_inc_attr_m_s:float 归属于少数股东的综合收益总额 Y
        ebit:float 息税前利润 Y
        ebitda:float 息税折旧摊销前利润 Y
        insurance_exp:float 保险业务支出 Y
        undist_profit:float 年初未分配利润 Y
        distable_profit:float 可分配利润 Y
        rd_exp:float 研发费用 Y
        fin_exp_int_exp:float 财务费用:利息费用 Y
        fin_exp_int_inc:float 财务费用:利息收入 Y
        transfer_surplus_rese:float 盈余公积转入 Y
        transfer_housing_imprest:float 住房周转金转入 Y
        transfer_oth:float 其他转入 Y
        adj_lossgain:float 调整以前年度损益 Y
        withdra_legal_surplus:float 提取法定盈余公积 Y
        withdra_legal_pubfund:float 提取法定公益金 Y
        withdra_biz_devfund:float 提取企业发展基金 Y
        withdra_rese_fund:float 提取储备基金 Y
        withdra_oth_ersu:float 提取任意盈余公积金 Y
        workers_welfare:float 职工奖金福利 Y
        distr_profit_shrhder:float 可供股东分配的利润 Y
        prfshare_payable_dvd:float 应付优先股股利 Y
        comshare_payable_dvd:float 应付普通股股利 Y
        capit_comstock_div:float 转作股本的普通股股利 Y
        net_after_nr_lp_correct:float 扣除非经常性损益后的净利润（更正前） N
        oth_income:float 其他收益 N
        asset_disp_income:float 资产处置收益 N
        continued_net_profit:float 持续经营净利润 Y
        end_net_profit:float 终止经营净利润 N
        credit_impa_loss:float 信用减值损失 N
        net_expo_hedging_benefits:float 净敞口套期收益 N
        oth_impair_loss_assets:float 其他资产减值损失 N
        total_opcost:float 营业总成本2 N
        amodcost_fin_assets:float 以摊余成本计量的金融资产终止确认收益 N
        update_flag:str 更新标识 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'f_ann_date' : 'str', 'end_date' : 'str', 'report_type' : 'str', 'comp_type' : 'str', 'end_type' : 'str', 'basic_eps' : 'float', 'diluted_eps' : 'float', 'total_revenue' : 'float', 'revenue' : 'float', 'int_income' : 'float', 'prem_earned' : 'float', 'comm_income' : 'float', 'n_commis_income' : 'float', 'n_oth_income' : 'float', 'n_oth_b_income' : 'float', 'prem_income' : 'float', 'out_prem' : 'float', 'une_prem_reser' : 'float', 'reins_income' : 'float', 'n_sec_tb_income' : 'float', 'n_sec_uw_income' : 'float', 'n_asset_mg_income' : 'float', 'oth_b_income' : 'float', 'fv_value_chg_gain' : 'float', 'invest_income' : 'float', 'ass_invest_income' : 'float', 'forex_gain' : 'float', 'total_cogs' : 'float', 'oper_cost' : 'float', 'int_exp' : 'float', 'comm_exp' : 'float', 'biz_tax_surchg' : 'float', 'sell_exp' : 'float', 'admin_exp' : 'float', 'fin_exp' : 'float', 'assets_impair_loss' : 'float', 'prem_refund' : 'float', 'compens_payout' : 'float', 'reser_insur_liab' : 'float', 'div_payt' : 'float', 'reins_exp' : 'float', 'oper_exp' : 'float', 'compens_payout_refu' : 'float', 'insur_reser_refu' : 'float', 'reins_cost_refund' : 'float', 'other_bus_cost' : 'float', 'operate_profit' : 'float', 'non_oper_income' : 'float', 'non_oper_exp' : 'float', 'nca_disploss' : 'float', 'total_profit' : 'float', 'income_tax' : 'float', 'n_income' : 'float', 'n_income_attr_p' : 'float', 'minority_gain' : 'float', 'oth_compr_income' : 'float', 't_compr_income' : 'float', 'compr_inc_attr_p' : 'float', 'compr_inc_attr_m_s' : 'float', 'ebit' : 'float', 'ebitda' : 'float', 'insurance_exp' : 'float', 'undist_profit' : 'float', 'distable_profit' : 'float', 'rd_exp' : 'float', 'fin_exp_int_exp' : 'float', 'fin_exp_int_inc' : 'float', 'transfer_surplus_rese' : 'float', 'transfer_housing_imprest' : 'float', 'transfer_oth' : 'float', 'adj_lossgain' : 'float', 'withdra_legal_surplus' : 'float', 'withdra_legal_pubfund' : 'float', 'withdra_biz_devfund' : 'float', 'withdra_rese_fund' : 'float', 'withdra_oth_ersu' : 'float', 'workers_welfare' : 'float', 'distr_profit_shrhder' : 'float', 'prfshare_payable_dvd' : 'float', 'comshare_payable_dvd' : 'float', 'capit_comstock_div' : 'float', 'net_after_nr_lp_correct' : 'float', 'oth_income' : 'float', 'asset_disp_income' : 'float', 'continued_net_profit' : 'float', 'end_net_profit' : 'float', 'credit_impa_loss' : 'float', 'net_expo_hedging_benefits' : 'float', 'oth_impair_loss_assets' : 'float', 'total_opcost' : 'float', 'amodcost_fin_assets' : 'float', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'f_ann_date': '实际公告日期', 'end_date': '报告期', 'report_type': '报告类型1合并报表2单季合并3调整单季合并表4调整合并报表5调整前合并报表6母公司报表7母公司单季表8母公司调整单季表9母公司调整表10母公司调整前报表11调整前合并报表12母公司调整前报表', 'comp_type': '公司类型1一般工商业2银行3保险4证券', 'end_type': '报告期类型', 'basic_eps': '基本每股收益', 'diluted_eps': '稀释每股收益', 'total_revenue': '营业总收入', 'revenue': '营业收入', 'int_income': '利息收入', 'prem_earned': '已赚保费', 'comm_income': '手续费及佣金收入', 'n_commis_income': '手续费及佣金净收入', 'n_oth_income': '其他经营净收益', 'n_oth_b_income': '加:其他业务净收益', 'prem_income': '保险业务收入', 'out_prem': '减:分出保费', 'une_prem_reser': '提取未到期责任准备金', 'reins_income': '其中:分保费收入', 'n_sec_tb_income': '代理买卖证券业务净收入', 'n_sec_uw_income': '证券承销业务净收入', 'n_asset_mg_income': '受托客户资产管理业务净收入', 'oth_b_income': '其他业务收入', 'fv_value_chg_gain': '加:公允价值变动净收益', 'invest_income': '加:投资净收益', 'ass_invest_income': '其中:对联营企业和合营企业的投资收益', 'forex_gain': '加:汇兑净收益', 'total_cogs': '营业总成本', 'oper_cost': '减:营业成本', 'int_exp': '减:利息支出', 'comm_exp': '减:手续费及佣金支出', 'biz_tax_surchg': '减:营业税金及附加', 'sell_exp': '减:销售费用', 'admin_exp': '减:管理费用', 'fin_exp': '减:财务费用', 'assets_impair_loss': '减:资产减值损失', 'prem_refund': '退保金', 'compens_payout': '赔付总支出', 'reser_insur_liab': '提取保险责任准备金', 'div_payt': '保户红利支出', 'reins_exp': '分保费用', 'oper_exp': '营业支出', 'compens_payout_refu': '减:摊回赔付支出', 'insur_reser_refu': '减:摊回保险责任准备金', 'reins_cost_refund': '减:摊回分保费用', 'other_bus_cost': '其他业务成本', 'operate_profit': '营业利润', 'non_oper_income': '加:营业外收入', 'non_oper_exp': '减:营业外支出', 'nca_disploss': '其中:减:非流动资产处置净损失', 'total_profit': '利润总额', 'income_tax': '所得税费用', 'n_income': '净利润含少数股东损益', 'n_income_attr_p': '净利润不含少数股东损益', 'minority_gain': '少数股东损益', 'oth_compr_income': '其他综合收益', 't_compr_income': '综合收益总额', 'compr_inc_attr_p': '归属于母公司或股东的综合收益总额', 'compr_inc_attr_m_s': '归属于少数股东的综合收益总额', 'ebit': '息税前利润', 'ebitda': '息税折旧摊销前利润', 'insurance_exp': '保险业务支出', 'undist_profit': '年初未分配利润', 'distable_profit': '可分配利润', 'rd_exp': '研发费用', 'fin_exp_int_exp': '财务费用:利息费用', 'fin_exp_int_inc': '财务费用:利息收入', 'transfer_surplus_rese': '盈余公积转入', 'transfer_housing_imprest': '住房周转金转入', 'transfer_oth': '其他转入', 'adj_lossgain': '调整以前年度损益', 'withdra_legal_surplus': '提取法定盈余公积', 'withdra_legal_pubfund': '提取法定公益金', 'withdra_biz_devfund': '提取企业发展基金', 'withdra_rese_fund': '提取储备基金', 'withdra_oth_ersu': '提取任意盈余公积金', 'workers_welfare': '职工奖金福利', 'distr_profit_shrhder': '可供股东分配的利润', 'prfshare_payable_dvd': '应付优先股股利', 'comshare_payable_dvd': '应付普通股股利', 'capit_comstock_div': '转作股本的普通股股利', 'net_after_nr_lp_correct': '扣除非经常性损益后的净利润更正前', 'oth_income': '其他收益', 'asset_disp_income': '资产处置收益', 'continued_net_profit': '持续经营净利润', 'end_net_profit': '终止经营净利润', 'credit_impa_loss': '信用减值损失', 'net_expo_hedging_benefits': '净敞口套期收益', 'oth_impair_loss_assets': '其他资产减值损失', 'total_opcost': '营业总成本2', 'amodcost_fin_assets': '以摊余成本计量的金融资产终止确认收益', 'update_flag': '更新标识'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="income",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def balancesheet(self,ts_code: str = None, ann_date: str = None, f_ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, report_type: str = None, comp_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        资产负债表
        https://tushare.pro/document/2?doc_id=36
        <参数>
        ts_code:str 股票代码 Y
        ann_date:str 公告日期（格式：YYYYMMDD，下同） N
        f_ann_date:str 实际公告日期 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        period:str 报告期 N
        report_type:str 报告类型 N
        comp_type:str 公司类型 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        f_ann_date:str 实际公告日期 Y
        end_date:str 报告期 Y
        report_type:str 报表类型 Y
        comp_type:str 公司类型(1一般工商业2银行3保险4证券) Y
        end_type:str 报告期类型 Y
        total_share:float 期末总股本 Y
        cap_rese:float 资本公积金 Y
        undistr_porfit:float 未分配利润 Y
        surplus_rese:float 盈余公积金 Y
        special_rese:float 专项储备 Y
        money_cap:float 货币资金 Y
        trad_asset:float 交易性金融资产 Y
        notes_receiv:float 应收票据 Y
        accounts_receiv:float 应收账款 Y
        oth_receiv:float 其他应收款 Y
        prepayment:float 预付款项 Y
        div_receiv:float 应收股利 Y
        int_receiv:float 应收利息 Y
        inventories:float 存货 Y
        amor_exp:float 长期待摊费用 Y
        nca_within_1y:float 一年内到期的非流动资产 Y
        sett_rsrv:float 结算备付金 Y
        loanto_oth_bank_fi:float 拆出资金 Y
        premium_receiv:float 应收保费 Y
        reinsur_receiv:float 应收分保账款 Y
        reinsur_res_receiv:float 应收分保合同准备金 Y
        pur_resale_fa:float 买入返售金融资产 Y
        oth_cur_assets:float 其他流动资产 Y
        total_cur_assets:float 流动资产合计 Y
        fa_avail_for_sale:float 可供出售金融资产 Y
        htm_invest:float 持有至到期投资 Y
        lt_eqt_invest:float 长期股权投资 Y
        invest_real_estate:float 投资性房地产 Y
        time_deposits:float 定期存款 Y
        oth_assets:float 其他资产 Y
        lt_rec:float 长期应收款 Y
        fix_assets:float 固定资产 Y
        cip:float 在建工程 Y
        const_materials:float 工程物资 Y
        fixed_assets_disp:float 固定资产清理 Y
        produc_bio_assets:float 生产性生物资产 Y
        oil_and_gas_assets:float 油气资产 Y
        intan_assets:float 无形资产 Y
        r_and_d:float 研发支出 Y
        goodwill:float 商誉 Y
        lt_amor_exp:float 长期待摊费用 Y
        defer_tax_assets:float 递延所得税资产 Y
        decr_in_disbur:float 发放贷款及垫款 Y
        oth_nca:float 其他非流动资产 Y
        total_nca:float 非流动资产合计 Y
        cash_reser_cb:float 现金及存放中央银行款项 Y
        depos_in_oth_bfi:float 存放同业和其它金融机构款项 Y
        prec_metals:float 贵金属 Y
        deriv_assets:float 衍生金融资产 Y
        rr_reins_une_prem:float 应收分保未到期责任准备金 Y
        rr_reins_outstd_cla:float 应收分保未决赔款准备金 Y
        rr_reins_lins_liab:float 应收分保寿险责任准备金 Y
        rr_reins_lthins_liab:float 应收分保长期健康险责任准备金 Y
        refund_depos:float 存出保证金 Y
        ph_pledge_loans:float 保户质押贷款 Y
        refund_cap_depos:float 存出资本保证金 Y
        indep_acct_assets:float 独立账户资产 Y
        client_depos:float 其中：客户资金存款 Y
        client_prov:float 其中：客户备付金 Y
        transac_seat_fee:float 其中:交易席位费 Y
        invest_as_receiv:float 应收款项类投资 Y
        total_assets:float 资产总计 Y
        lt_borr:float 长期借款 Y
        st_borr:float 短期借款 Y
        cb_borr:float 向中央银行借款 Y
        depos_ib_deposits:float 吸收存款及同业存放 Y
        loan_oth_bank:float 拆入资金 Y
        trading_fl:float 交易性金融负债 Y
        notes_payable:float 应付票据 Y
        acct_payable:float 应付账款 Y
        adv_receipts:float 预收款项 Y
        sold_for_repur_fa:float 卖出回购金融资产款 Y
        comm_payable:float 应付手续费及佣金 Y
        payroll_payable:float 应付职工薪酬 Y
        taxes_payable:float 应交税费 Y
        int_payable:float 应付利息 Y
        div_payable:float 应付股利 Y
        oth_payable:float 其他应付款 Y
        acc_exp:float 预提费用 Y
        deferred_inc:float 递延收益 Y
        st_bonds_payable:float 应付短期债券 Y
        payable_to_reinsurer:float 应付分保账款 Y
        rsrv_insur_cont:float 保险合同准备金 Y
        acting_trading_sec:float 代理买卖证券款 Y
        acting_uw_sec:float 代理承销证券款 Y
        non_cur_liab_due_1y:float 一年内到期的非流动负债 Y
        oth_cur_liab:float 其他流动负债 Y
        total_cur_liab:float 流动负债合计 Y
        bond_payable:float 应付债券 Y
        lt_payable:float 长期应付款 Y
        specific_payables:float 专项应付款 Y
        estimated_liab:float 预计负债 Y
        defer_tax_liab:float 递延所得税负债 Y
        defer_inc_non_cur_liab:float 递延收益-非流动负债 Y
        oth_ncl:float 其他非流动负债 Y
        total_ncl:float 非流动负债合计 Y
        depos_oth_bfi:float 同业和其它金融机构存放款项 Y
        deriv_liab:float 衍生金融负债 Y
        depos:float 吸收存款 Y
        agency_bus_liab:float 代理业务负债 Y
        oth_liab:float 其他负债 Y
        prem_receiv_adva:float 预收保费 Y
        depos_received:float 存入保证金 Y
        ph_invest:float 保户储金及投资款 Y
        reser_une_prem:float 未到期责任准备金 Y
        reser_outstd_claims:float 未决赔款准备金 Y
        reser_lins_liab:float 寿险责任准备金 Y
        reser_lthins_liab:float 长期健康险责任准备金 Y
        indept_acc_liab:float 独立账户负债 Y
        pledge_borr:float 其中:质押借款 Y
        indem_payable:float 应付赔付款 Y
        policy_div_payable:float 应付保单红利 Y
        total_liab:float 负债合计 Y
        treasury_share:float 减:库存股 Y
        ordin_risk_reser:float 一般风险准备 Y
        forex_differ:float 外币报表折算差额 Y
        invest_loss_unconf:float 未确认的投资损失 Y
        minority_int:float 少数股东权益 Y
        total_hldr_eqy_exc_min_int:float 股东权益合计(不含少数股东权益) Y
        total_hldr_eqy_inc_min_int:float 股东权益合计(含少数股东权益) Y
        total_liab_hldr_eqy:float 负债及股东权益总计 Y
        lt_payroll_payable:float 长期应付职工薪酬 Y
        oth_comp_income:float 其他综合收益 Y
        oth_eqt_tools:float 其他权益工具 Y
        oth_eqt_tools_p_shr:float 其他权益工具(优先股) Y
        lending_funds:float 融出资金 Y
        acc_receivable:float 应收款项 Y
        st_fin_payable:float 应付短期融资款 Y
        payables:float 应付款项 Y
        hfs_assets:float 持有待售的资产 Y
        hfs_sales:float 持有待售的负债 Y
        cost_fin_assets:float 以摊余成本计量的金融资产 Y
        fair_value_fin_assets:float 以公允价值计量且其变动计入其他综合收益的金融资产 Y
        contract_assets:float 合同资产 Y
        contract_liab:float 合同负债 Y
        accounts_receiv_bill:float 应收票据及应收账款 Y
        accounts_pay:float 应付票据及应付账款 Y
        oth_rcv_total:float 其他应收款(合计)（元） Y
        fix_assets_total:float 固定资产(合计)(元) Y
        cip_total:float 在建工程(合计)(元) Y
        oth_pay_total:float 其他应付款(合计)(元) Y
        long_pay_total:float 长期应付款(合计)(元) Y
        debt_invest:float 债权投资(元) Y
        oth_debt_invest:float 其他债权投资(元) Y
        oth_eq_invest:float 其他权益工具投资(元) N
        oth_illiq_fin_assets:float 其他非流动金融资产(元) N
        oth_eq_ppbond:float 其他权益工具:永续债(元) N
        receiv_financing:float 应收款项融资 N
        use_right_assets:float 使用权资产 N
        lease_liab:float 租赁负债 N
        update_flag:str 更新标识 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'f_ann_date' : 'str', 'end_date' : 'str', 'report_type' : 'str', 'comp_type' : 'str', 'end_type' : 'str', 'total_share' : 'float', 'cap_rese' : 'float', 'undistr_porfit' : 'float', 'surplus_rese' : 'float', 'special_rese' : 'float', 'money_cap' : 'float', 'trad_asset' : 'float', 'notes_receiv' : 'float', 'accounts_receiv' : 'float', 'oth_receiv' : 'float', 'prepayment' : 'float', 'div_receiv' : 'float', 'int_receiv' : 'float', 'inventories' : 'float', 'amor_exp' : 'float', 'nca_within_1y' : 'float', 'sett_rsrv' : 'float', 'loanto_oth_bank_fi' : 'float', 'premium_receiv' : 'float', 'reinsur_receiv' : 'float', 'reinsur_res_receiv' : 'float', 'pur_resale_fa' : 'float', 'oth_cur_assets' : 'float', 'total_cur_assets' : 'float', 'fa_avail_for_sale' : 'float', 'htm_invest' : 'float', 'lt_eqt_invest' : 'float', 'invest_real_estate' : 'float', 'time_deposits' : 'float', 'oth_assets' : 'float', 'lt_rec' : 'float', 'fix_assets' : 'float', 'cip' : 'float', 'const_materials' : 'float', 'fixed_assets_disp' : 'float', 'produc_bio_assets' : 'float', 'oil_and_gas_assets' : 'float', 'intan_assets' : 'float', 'r_and_d' : 'float', 'goodwill' : 'float', 'lt_amor_exp' : 'float', 'defer_tax_assets' : 'float', 'decr_in_disbur' : 'float', 'oth_nca' : 'float', 'total_nca' : 'float', 'cash_reser_cb' : 'float', 'depos_in_oth_bfi' : 'float', 'prec_metals' : 'float', 'deriv_assets' : 'float', 'rr_reins_une_prem' : 'float', 'rr_reins_outstd_cla' : 'float', 'rr_reins_lins_liab' : 'float', 'rr_reins_lthins_liab' : 'float', 'refund_depos' : 'float', 'ph_pledge_loans' : 'float', 'refund_cap_depos' : 'float', 'indep_acct_assets' : 'float', 'client_depos' : 'float', 'client_prov' : 'float', 'transac_seat_fee' : 'float', 'invest_as_receiv' : 'float', 'total_assets' : 'float', 'lt_borr' : 'float', 'st_borr' : 'float', 'cb_borr' : 'float', 'depos_ib_deposits' : 'float', 'loan_oth_bank' : 'float', 'trading_fl' : 'float', 'notes_payable' : 'float', 'acct_payable' : 'float', 'adv_receipts' : 'float', 'sold_for_repur_fa' : 'float', 'comm_payable' : 'float', 'payroll_payable' : 'float', 'taxes_payable' : 'float', 'int_payable' : 'float', 'div_payable' : 'float', 'oth_payable' : 'float', 'acc_exp' : 'float', 'deferred_inc' : 'float', 'st_bonds_payable' : 'float', 'payable_to_reinsurer' : 'float', 'rsrv_insur_cont' : 'float', 'acting_trading_sec' : 'float', 'acting_uw_sec' : 'float', 'non_cur_liab_due_1y' : 'float', 'oth_cur_liab' : 'float', 'total_cur_liab' : 'float', 'bond_payable' : 'float', 'lt_payable' : 'float', 'specific_payables' : 'float', 'estimated_liab' : 'float', 'defer_tax_liab' : 'float', 'defer_inc_non_cur_liab' : 'float', 'oth_ncl' : 'float', 'total_ncl' : 'float', 'depos_oth_bfi' : 'float', 'deriv_liab' : 'float', 'depos' : 'float', 'agency_bus_liab' : 'float', 'oth_liab' : 'float', 'prem_receiv_adva' : 'float', 'depos_received' : 'float', 'ph_invest' : 'float', 'reser_une_prem' : 'float', 'reser_outstd_claims' : 'float', 'reser_lins_liab' : 'float', 'reser_lthins_liab' : 'float', 'indept_acc_liab' : 'float', 'pledge_borr' : 'float', 'indem_payable' : 'float', 'policy_div_payable' : 'float', 'total_liab' : 'float', 'treasury_share' : 'float', 'ordin_risk_reser' : 'float', 'forex_differ' : 'float', 'invest_loss_unconf' : 'float', 'minority_int' : 'float', 'total_hldr_eqy_exc_min_int' : 'float', 'total_hldr_eqy_inc_min_int' : 'float', 'total_liab_hldr_eqy' : 'float', 'lt_payroll_payable' : 'float', 'oth_comp_income' : 'float', 'oth_eqt_tools' : 'float', 'oth_eqt_tools_p_shr' : 'float', 'lending_funds' : 'float', 'acc_receivable' : 'float', 'st_fin_payable' : 'float', 'payables' : 'float', 'hfs_assets' : 'float', 'hfs_sales' : 'float', 'cost_fin_assets' : 'float', 'fair_value_fin_assets' : 'float', 'contract_assets' : 'float', 'contract_liab' : 'float', 'accounts_receiv_bill' : 'float', 'accounts_pay' : 'float', 'oth_rcv_total' : 'float', 'fix_assets_total' : 'float', 'cip_total' : 'float', 'oth_pay_total' : 'float', 'long_pay_total' : 'float', 'debt_invest' : 'float', 'oth_debt_invest' : 'float', 'oth_eq_invest' : 'float', 'oth_illiq_fin_assets' : 'float', 'oth_eq_ppbond' : 'float', 'receiv_financing' : 'float', 'use_right_assets' : 'float', 'lease_liab' : 'float', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'f_ann_date': '实际公告日期', 'end_date': '报告期', 'report_type': '报表类型', 'comp_type': '公司类型1一般工商业2银行3保险4证券', 'end_type': '报告期类型', 'total_share': '期末总股本', 'cap_rese': '资本公积金', 'undistr_porfit': '未分配利润', 'surplus_rese': '盈余公积金', 'special_rese': '专项储备', 'money_cap': '货币资金', 'trad_asset': '交易性金融资产', 'notes_receiv': '应收票据', 'accounts_receiv': '应收账款', 'oth_receiv': '其他应收款', 'prepayment': '预付款项', 'div_receiv': '应收股利', 'int_receiv': '应收利息', 'inventories': '存货', 'amor_exp': '长期待摊费用', 'nca_within_1y': '一年内到期的非流动资产', 'sett_rsrv': '结算备付金', 'loanto_oth_bank_fi': '拆出资金', 'premium_receiv': '应收保费', 'reinsur_receiv': '应收分保账款', 'reinsur_res_receiv': '应收分保合同准备金', 'pur_resale_fa': '买入返售金融资产', 'oth_cur_assets': '其他流动资产', 'total_cur_assets': '流动资产合计', 'fa_avail_for_sale': '可供出售金融资产', 'htm_invest': '持有至到期投资', 'lt_eqt_invest': '长期股权投资', 'invest_real_estate': '投资性房地产', 'time_deposits': '定期存款', 'oth_assets': '其他资产', 'lt_rec': '长期应收款', 'fix_assets': '固定资产', 'cip': '在建工程', 'const_materials': '工程物资', 'fixed_assets_disp': '固定资产清理', 'produc_bio_assets': '生产性生物资产', 'oil_and_gas_assets': '油气资产', 'intan_assets': '无形资产', 'r_and_d': '研发支出', 'goodwill': '商誉', 'lt_amor_exp': '长期待摊费用', 'defer_tax_assets': '递延所得税资产', 'decr_in_disbur': '发放贷款及垫款', 'oth_nca': '其他非流动资产', 'total_nca': '非流动资产合计', 'cash_reser_cb': '现金及存放中央银行款项', 'depos_in_oth_bfi': '存放同业和其它金融机构款项', 'prec_metals': '贵金属', 'deriv_assets': '衍生金融资产', 'rr_reins_une_prem': '应收分保未到期责任准备金', 'rr_reins_outstd_cla': '应收分保未决赔款准备金', 'rr_reins_lins_liab': '应收分保寿险责任准备金', 'rr_reins_lthins_liab': '应收分保长期健康险责任准备金', 'refund_depos': '存出保证金', 'ph_pledge_loans': '保户质押贷款', 'refund_cap_depos': '存出资本保证金', 'indep_acct_assets': '独立账户资产', 'client_depos': '其中：客户资金存款', 'client_prov': '其中：客户备付金', 'transac_seat_fee': '其中:交易席位费', 'invest_as_receiv': '应收款项类投资', 'total_assets': '资产总计', 'lt_borr': '长期借款', 'st_borr': '短期借款', 'cb_borr': '向中央银行借款', 'depos_ib_deposits': '吸收存款及同业存放', 'loan_oth_bank': '拆入资金', 'trading_fl': '交易性金融负债', 'notes_payable': '应付票据', 'acct_payable': '应付账款', 'adv_receipts': '预收款项', 'sold_for_repur_fa': '卖出回购金融资产款', 'comm_payable': '应付手续费及佣金', 'payroll_payable': '应付职工薪酬', 'taxes_payable': '应交税费', 'int_payable': '应付利息', 'div_payable': '应付股利', 'oth_payable': '其他应付款', 'acc_exp': '预提费用', 'deferred_inc': '递延收益', 'st_bonds_payable': '应付短期债券', 'payable_to_reinsurer': '应付分保账款', 'rsrv_insur_cont': '保险合同准备金', 'acting_trading_sec': '代理买卖证券款', 'acting_uw_sec': '代理承销证券款', 'non_cur_liab_due_1y': '一年内到期的非流动负债', 'oth_cur_liab': '其他流动负债', 'total_cur_liab': '流动负债合计', 'bond_payable': '应付债券', 'lt_payable': '长期应付款', 'specific_payables': '专项应付款', 'estimated_liab': '预计负债', 'defer_tax_liab': '递延所得税负债', 'defer_inc_non_cur_liab': '递延收益-非流动负债', 'oth_ncl': '其他非流动负债', 'total_ncl': '非流动负债合计', 'depos_oth_bfi': '同业和其它金融机构存放款项', 'deriv_liab': '衍生金融负债', 'depos': '吸收存款', 'agency_bus_liab': '代理业务负债', 'oth_liab': '其他负债', 'prem_receiv_adva': '预收保费', 'depos_received': '存入保证金', 'ph_invest': '保户储金及投资款', 'reser_une_prem': '未到期责任准备金', 'reser_outstd_claims': '未决赔款准备金', 'reser_lins_liab': '寿险责任准备金', 'reser_lthins_liab': '长期健康险责任准备金', 'indept_acc_liab': '独立账户负债', 'pledge_borr': '其中:质押借款', 'indem_payable': '应付赔付款', 'policy_div_payable': '应付保单红利', 'total_liab': '负债合计', 'treasury_share': '减:库存股', 'ordin_risk_reser': '一般风险准备', 'forex_differ': '外币报表折算差额', 'invest_loss_unconf': '未确认的投资损失', 'minority_int': '少数股东权益', 'total_hldr_eqy_exc_min_int': '股东权益合计不含少数股东权益', 'total_hldr_eqy_inc_min_int': '股东权益合计含少数股东权益', 'total_liab_hldr_eqy': '负债及股东权益总计', 'lt_payroll_payable': '长期应付职工薪酬', 'oth_comp_income': '其他综合收益', 'oth_eqt_tools': '其他权益工具', 'oth_eqt_tools_p_shr': '其他权益工具优先股', 'lending_funds': '融出资金', 'acc_receivable': '应收款项', 'st_fin_payable': '应付短期融资款', 'payables': '应付款项', 'hfs_assets': '持有待售的资产', 'hfs_sales': '持有待售的负债', 'cost_fin_assets': '以摊余成本计量的金融资产', 'fair_value_fin_assets': '以公允价值计量且其变动计入其他综合收益的金融资产', 'contract_assets': '合同资产', 'contract_liab': '合同负债', 'accounts_receiv_bill': '应收票据及应收账款', 'accounts_pay': '应付票据及应付账款', 'oth_rcv_total': '其他应收款合计元', 'fix_assets_total': '固定资产合计元', 'cip_total': '在建工程合计元', 'oth_pay_total': '其他应付款合计元', 'long_pay_total': '长期应付款合计元', 'debt_invest': '债权投资元', 'oth_debt_invest': '其他债权投资元', 'oth_eq_invest': '其他权益工具投资元', 'oth_illiq_fin_assets': '其他非流动金融资产元', 'oth_eq_ppbond': '其他权益工具:永续债元', 'receiv_financing': '应收款项融资', 'use_right_assets': '使用权资产', 'lease_liab': '租赁负债', 'update_flag': '更新标识'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="balancesheet",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cashflow(self,ts_code: str = None, ann_date: str = None, f_ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, report_type: str = None, comp_type: str = None, is_calc: int = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        现金流量表
        https://tushare.pro/document/2?doc_id=44
        <参数>
        ts_code:str 股票代码 Y
        ann_date:str 公告日期（格式：YYYYMMDD，下同） N
        f_ann_date:str 实际公告日期 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        period:str 报告期 N
        report_type:str 报告类型 N
        comp_type:str 公司类型 N
        is_calc:int 是否计算报表 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        f_ann_date:str 实际公告日期 Y
        end_date:str 报告期 Y
        comp_type:str 公司类型(1一般工商业2银行3保险4证券) Y
        report_type:str 报表类型 Y
        end_type:str 报告期类型 Y
        net_profit:float 净利润 Y
        finan_exp:float 财务费用 Y
        c_fr_sale_sg:float 销售商品、提供劳务收到的现金 Y
        recp_tax_rends:float 收到的税费返还 Y
        n_depos_incr_fi:float 客户存款和同业存放款项净增加额 Y
        n_incr_loans_cb:float 向中央银行借款净增加额 Y
        n_inc_borr_oth_fi:float 向其他金融机构拆入资金净增加额 Y
        prem_fr_orig_contr:float 收到原保险合同保费取得的现金 Y
        n_incr_insured_dep:float 保户储金净增加额 Y
        n_reinsur_prem:float 收到再保业务现金净额 Y
        n_incr_disp_tfa:float 处置交易性金融资产净增加额 Y
        ifc_cash_incr:float 收取利息和手续费净增加额 Y
        n_incr_disp_faas:float 处置可供出售金融资产净增加额 Y
        n_incr_loans_oth_bank:float 拆入资金净增加额 Y
        n_cap_incr_repur:float 回购业务资金净增加额 Y
        c_fr_oth_operate_a:float 收到其他与经营活动有关的现金 Y
        c_inf_fr_operate_a:float 经营活动现金流入小计 Y
        c_paid_goods_s:float 购买商品、接受劳务支付的现金 Y
        c_paid_to_for_empl:float 支付给职工以及为职工支付的现金 Y
        c_paid_for_taxes:float 支付的各项税费 Y
        n_incr_clt_loan_adv:float 客户贷款及垫款净增加额 Y
        n_incr_dep_cbob:float 存放央行和同业款项净增加额 Y
        c_pay_claims_orig_inco:float 支付原保险合同赔付款项的现金 Y
        pay_handling_chrg:float 支付手续费的现金 Y
        pay_comm_insur_plcy:float 支付保单红利的现金 Y
        oth_cash_pay_oper_act:float 支付其他与经营活动有关的现金 Y
        st_cash_out_act:float 经营活动现金流出小计 Y
        n_cashflow_act:float 经营活动产生的现金流量净额 Y
        oth_recp_ral_inv_act:float 收到其他与投资活动有关的现金 Y
        c_disp_withdrwl_invest:float 收回投资收到的现金 Y
        c_recp_return_invest:float 取得投资收益收到的现金 Y
        n_recp_disp_fiolta:float 处置固定资产、无形资产和其他长期资产收回的现金净额 Y
        n_recp_disp_sobu:float 处置子公司及其他营业单位收到的现金净额 Y
        stot_inflows_inv_act:float 投资活动现金流入小计 Y
        c_pay_acq_const_fiolta:float 购建固定资产、无形资产和其他长期资产支付的现金 Y
        c_paid_invest:float 投资支付的现金 Y
        n_disp_subs_oth_biz:float 取得子公司及其他营业单位支付的现金净额 Y
        oth_pay_ral_inv_act:float 支付其他与投资活动有关的现金 Y
        n_incr_pledge_loan:float 质押贷款净增加额 Y
        stot_out_inv_act:float 投资活动现金流出小计 Y
        n_cashflow_inv_act:float 投资活动产生的现金流量净额 Y
        c_recp_borrow:float 取得借款收到的现金 Y
        proc_issue_bonds:float 发行债券收到的现金 Y
        oth_cash_recp_ral_fnc_act:float 收到其他与筹资活动有关的现金 Y
        stot_cash_in_fnc_act:float 筹资活动现金流入小计 Y
        free_cashflow:float 企业自由现金流量 Y
        c_prepay_amt_borr:float 偿还债务支付的现金 Y
        c_pay_dist_dpcp_int_exp:float 分配股利、利润或偿付利息支付的现金 Y
        incl_dvd_profit_paid_sc_ms:float 其中:子公司支付给少数股东的股利、利润 Y
        oth_cashpay_ral_fnc_act:float 支付其他与筹资活动有关的现金 Y
        stot_cashout_fnc_act:float 筹资活动现金流出小计 Y
        n_cash_flows_fnc_act:float 筹资活动产生的现金流量净额 Y
        eff_fx_flu_cash:float 汇率变动对现金的影响 Y
        n_incr_cash_cash_equ:float 现金及现金等价物净增加额 Y
        c_cash_equ_beg_period:float 期初现金及现金等价物余额 Y
        c_cash_equ_end_period:float 期末现金及现金等价物余额 Y
        c_recp_cap_contrib:float 吸收投资收到的现金 Y
        incl_cash_rec_saims:float 其中:子公司吸收少数股东投资收到的现金 Y
        uncon_invest_loss:float 未确认投资损失 Y
        prov_depr_assets:float 加:资产减值准备 Y
        depr_fa_coga_dpba:float 固定资产折旧、油气资产折耗、生产性生物资产折旧 Y
        amort_intang_assets:float 无形资产摊销 Y
        lt_amort_deferred_exp:float 长期待摊费用摊销 Y
        decr_deferred_exp:float 待摊费用减少 Y
        incr_acc_exp:float 预提费用增加 Y
        loss_disp_fiolta:float 处置固定、无形资产和其他长期资产的损失 Y
        loss_scr_fa:float 固定资产报废损失 Y
        loss_fv_chg:float 公允价值变动损失 Y
        invest_loss:float 投资损失 Y
        decr_def_inc_tax_assets:float 递延所得税资产减少 Y
        incr_def_inc_tax_liab:float 递延所得税负债增加 Y
        decr_inventories:float 存货的减少 Y
        decr_oper_payable:float 经营性应收项目的减少 Y
        incr_oper_payable:float 经营性应付项目的增加 Y
        others:float 其他 Y
        im_net_cashflow_oper_act:float 经营活动产生的现金流量净额(间接法) Y
        conv_debt_into_cap:float 债务转为资本 Y
        conv_copbonds_due_within_1y:float 一年内到期的可转换公司债券 Y
        fa_fnc_leases:float 融资租入固定资产 Y
        im_n_incr_cash_equ:float 现金及现金等价物净增加额(间接法) Y
        net_dism_capital_add:float 拆出资金净增加额 Y
        net_cash_rece_sec:float 代理买卖证券收到的现金净额(元) Y
        credit_impa_loss:float 信用减值损失 Y
        use_right_asset_dep:float 使用权资产折旧 Y
        oth_loss_asset:float 其他资产减值损失 Y
        end_bal_cash:float 现金的期末余额 Y
        beg_bal_cash:float 减:现金的期初余额 Y
        end_bal_cash_equ:float 加:现金等价物的期末余额 Y
        beg_bal_cash_equ:float 减:现金等价物的期初余额 Y
        update_flag:str 更新标志 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'f_ann_date' : 'str', 'end_date' : 'str', 'comp_type' : 'str', 'report_type' : 'str', 'end_type' : 'str', 'net_profit' : 'float', 'finan_exp' : 'float', 'c_fr_sale_sg' : 'float', 'recp_tax_rends' : 'float', 'n_depos_incr_fi' : 'float', 'n_incr_loans_cb' : 'float', 'n_inc_borr_oth_fi' : 'float', 'prem_fr_orig_contr' : 'float', 'n_incr_insured_dep' : 'float', 'n_reinsur_prem' : 'float', 'n_incr_disp_tfa' : 'float', 'ifc_cash_incr' : 'float', 'n_incr_disp_faas' : 'float', 'n_incr_loans_oth_bank' : 'float', 'n_cap_incr_repur' : 'float', 'c_fr_oth_operate_a' : 'float', 'c_inf_fr_operate_a' : 'float', 'c_paid_goods_s' : 'float', 'c_paid_to_for_empl' : 'float', 'c_paid_for_taxes' : 'float', 'n_incr_clt_loan_adv' : 'float', 'n_incr_dep_cbob' : 'float', 'c_pay_claims_orig_inco' : 'float', 'pay_handling_chrg' : 'float', 'pay_comm_insur_plcy' : 'float', 'oth_cash_pay_oper_act' : 'float', 'st_cash_out_act' : 'float', 'n_cashflow_act' : 'float', 'oth_recp_ral_inv_act' : 'float', 'c_disp_withdrwl_invest' : 'float', 'c_recp_return_invest' : 'float', 'n_recp_disp_fiolta' : 'float', 'n_recp_disp_sobu' : 'float', 'stot_inflows_inv_act' : 'float', 'c_pay_acq_const_fiolta' : 'float', 'c_paid_invest' : 'float', 'n_disp_subs_oth_biz' : 'float', 'oth_pay_ral_inv_act' : 'float', 'n_incr_pledge_loan' : 'float', 'stot_out_inv_act' : 'float', 'n_cashflow_inv_act' : 'float', 'c_recp_borrow' : 'float', 'proc_issue_bonds' : 'float', 'oth_cash_recp_ral_fnc_act' : 'float', 'stot_cash_in_fnc_act' : 'float', 'free_cashflow' : 'float', 'c_prepay_amt_borr' : 'float', 'c_pay_dist_dpcp_int_exp' : 'float', 'incl_dvd_profit_paid_sc_ms' : 'float', 'oth_cashpay_ral_fnc_act' : 'float', 'stot_cashout_fnc_act' : 'float', 'n_cash_flows_fnc_act' : 'float', 'eff_fx_flu_cash' : 'float', 'n_incr_cash_cash_equ' : 'float', 'c_cash_equ_beg_period' : 'float', 'c_cash_equ_end_period' : 'float', 'c_recp_cap_contrib' : 'float', 'incl_cash_rec_saims' : 'float', 'uncon_invest_loss' : 'float', 'prov_depr_assets' : 'float', 'depr_fa_coga_dpba' : 'float', 'amort_intang_assets' : 'float', 'lt_amort_deferred_exp' : 'float', 'decr_deferred_exp' : 'float', 'incr_acc_exp' : 'float', 'loss_disp_fiolta' : 'float', 'loss_scr_fa' : 'float', 'loss_fv_chg' : 'float', 'invest_loss' : 'float', 'decr_def_inc_tax_assets' : 'float', 'incr_def_inc_tax_liab' : 'float', 'decr_inventories' : 'float', 'decr_oper_payable' : 'float', 'incr_oper_payable' : 'float', 'others' : 'float', 'im_net_cashflow_oper_act' : 'float', 'conv_debt_into_cap' : 'float', 'conv_copbonds_due_within_1y' : 'float', 'fa_fnc_leases' : 'float', 'im_n_incr_cash_equ' : 'float', 'net_dism_capital_add' : 'float', 'net_cash_rece_sec' : 'float', 'credit_impa_loss' : 'float', 'use_right_asset_dep' : 'float', 'oth_loss_asset' : 'float', 'end_bal_cash' : 'float', 'beg_bal_cash' : 'float', 'end_bal_cash_equ' : 'float', 'beg_bal_cash_equ' : 'float', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'f_ann_date': '实际公告日期', 'end_date': '报告期', 'comp_type': '公司类型1一般工商业2银行3保险4证券', 'report_type': '报表类型', 'end_type': '报告期类型', 'net_profit': '净利润', 'finan_exp': '财务费用', 'c_fr_sale_sg': '销售商品、提供劳务收到的现金', 'recp_tax_rends': '收到的税费返还', 'n_depos_incr_fi': '客户存款和同业存放款项净增加额', 'n_incr_loans_cb': '向中央银行借款净增加额', 'n_inc_borr_oth_fi': '向其他金融机构拆入资金净增加额', 'prem_fr_orig_contr': '收到原保险合同保费取得的现金', 'n_incr_insured_dep': '保户储金净增加额', 'n_reinsur_prem': '收到再保业务现金净额', 'n_incr_disp_tfa': '处置交易性金融资产净增加额', 'ifc_cash_incr': '收取利息和手续费净增加额', 'n_incr_disp_faas': '处置可供出售金融资产净增加额', 'n_incr_loans_oth_bank': '拆入资金净增加额', 'n_cap_incr_repur': '回购业务资金净增加额', 'c_fr_oth_operate_a': '收到其他与经营活动有关的现金', 'c_inf_fr_operate_a': '经营活动现金流入小计', 'c_paid_goods_s': '购买商品、接受劳务支付的现金', 'c_paid_to_for_empl': '支付给职工以及为职工支付的现金', 'c_paid_for_taxes': '支付的各项税费', 'n_incr_clt_loan_adv': '客户贷款及垫款净增加额', 'n_incr_dep_cbob': '存放央行和同业款项净增加额', 'c_pay_claims_orig_inco': '支付原保险合同赔付款项的现金', 'pay_handling_chrg': '支付手续费的现金', 'pay_comm_insur_plcy': '支付保单红利的现金', 'oth_cash_pay_oper_act': '支付其他与经营活动有关的现金', 'st_cash_out_act': '经营活动现金流出小计', 'n_cashflow_act': '经营活动产生的现金流量净额', 'oth_recp_ral_inv_act': '收到其他与投资活动有关的现金', 'c_disp_withdrwl_invest': '收回投资收到的现金', 'c_recp_return_invest': '取得投资收益收到的现金', 'n_recp_disp_fiolta': '处置固定资产、无形资产和其他长期资产收回的现金净额', 'n_recp_disp_sobu': '处置子公司及其他营业单位收到的现金净额', 'stot_inflows_inv_act': '投资活动现金流入小计', 'c_pay_acq_const_fiolta': '购建固定资产、无形资产和其他长期资产支付的现金', 'c_paid_invest': '投资支付的现金', 'n_disp_subs_oth_biz': '取得子公司及其他营业单位支付的现金净额', 'oth_pay_ral_inv_act': '支付其他与投资活动有关的现金', 'n_incr_pledge_loan': '质押贷款净增加额', 'stot_out_inv_act': '投资活动现金流出小计', 'n_cashflow_inv_act': '投资活动产生的现金流量净额', 'c_recp_borrow': '取得借款收到的现金', 'proc_issue_bonds': '发行债券收到的现金', 'oth_cash_recp_ral_fnc_act': '收到其他与筹资活动有关的现金', 'stot_cash_in_fnc_act': '筹资活动现金流入小计', 'free_cashflow': '企业自由现金流量', 'c_prepay_amt_borr': '偿还债务支付的现金', 'c_pay_dist_dpcp_int_exp': '分配股利、利润或偿付利息支付的现金', 'incl_dvd_profit_paid_sc_ms': '其中:子公司支付给少数股东的股利、利润', 'oth_cashpay_ral_fnc_act': '支付其他与筹资活动有关的现金', 'stot_cashout_fnc_act': '筹资活动现金流出小计', 'n_cash_flows_fnc_act': '筹资活动产生的现金流量净额', 'eff_fx_flu_cash': '汇率变动对现金的影响', 'n_incr_cash_cash_equ': '现金及现金等价物净增加额', 'c_cash_equ_beg_period': '期初现金及现金等价物余额', 'c_cash_equ_end_period': '期末现金及现金等价物余额', 'c_recp_cap_contrib': '吸收投资收到的现金', 'incl_cash_rec_saims': '其中:子公司吸收少数股东投资收到的现金', 'uncon_invest_loss': '未确认投资损失', 'prov_depr_assets': '加:资产减值准备', 'depr_fa_coga_dpba': '固定资产折旧、油气资产折耗、生产性生物资产折旧', 'amort_intang_assets': '无形资产摊销', 'lt_amort_deferred_exp': '长期待摊费用摊销', 'decr_deferred_exp': '待摊费用减少', 'incr_acc_exp': '预提费用增加', 'loss_disp_fiolta': '处置固定、无形资产和其他长期资产的损失', 'loss_scr_fa': '固定资产报废损失', 'loss_fv_chg': '公允价值变动损失', 'invest_loss': '投资损失', 'decr_def_inc_tax_assets': '递延所得税资产减少', 'incr_def_inc_tax_liab': '递延所得税负债增加', 'decr_inventories': '存货的减少', 'decr_oper_payable': '经营性应收项目的减少', 'incr_oper_payable': '经营性应付项目的增加', 'others': '其他', 'im_net_cashflow_oper_act': '经营活动产生的现金流量净额间接法', 'conv_debt_into_cap': '债务转为资本', 'conv_copbonds_due_within_1y': '一年内到期的可转换公司债券', 'fa_fnc_leases': '融资租入固定资产', 'im_n_incr_cash_equ': '现金及现金等价物净增加额间接法', 'net_dism_capital_add': '拆出资金净增加额', 'net_cash_rece_sec': '代理买卖证券收到的现金净额元', 'credit_impa_loss': '信用减值损失', 'use_right_asset_dep': '使用权资产折旧', 'oth_loss_asset': '其他资产减值损失', 'end_bal_cash': '现金的期末余额', 'beg_bal_cash': '减:现金的期初余额', 'end_bal_cash_equ': '加:现金等价物的期末余额', 'beg_bal_cash_equ': '减:现金等价物的期初余额', 'update_flag': '更新标志'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cashflow",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def forecast(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        业绩预告
        https://tushare.pro/document/2?doc_id=45
        <参数>
        ts_code:str 股票代码 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        period:str 报告期 N
        type:str 预告类型 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        end_date:str 报告期 Y
        type:str 业绩预告类型 Y
        p_change_min:float 预告净利润变动幅度下限（%） Y
        p_change_max:float 预告净利润变动幅度上限（%） Y
        net_profit_min:float 预告净利润下限（万元） Y
        net_profit_max:float 预告净利润上限（万元） Y
        last_parent_net:float 上年同期归属母公司净利润 Y
        notice_times:int 公布次数 N
        first_ann_date:str 首次公告日 Y
        summary:str 业绩预告摘要 Y
        change_reason:str 业绩变动原因 Y
        update_flag:str 更新标志 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'type' : 'str', 'p_change_min' : 'float', 'p_change_max' : 'float', 'net_profit_min' : 'float', 'net_profit_max' : 'float', 'last_parent_net' : 'float', 'notice_times' : 'int', 'first_ann_date' : 'str', 'summary' : 'str', 'change_reason' : 'str', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '报告期', 'type': '业绩预告类型', 'p_change_min': '预告净利润变动幅度下限百分比', 'p_change_max': '预告净利润变动幅度上限百分比', 'net_profit_min': '预告净利润下限万元', 'net_profit_max': '预告净利润上限万元', 'last_parent_net': '上年同期归属母公司净利润', 'notice_times': '公布次数', 'first_ann_date': '首次公告日', 'summary': '业绩预告摘要', 'change_reason': '业绩变动原因', 'update_flag': '更新标志'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="forecast",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def express(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        业绩快报
        https://tushare.pro/document/2?doc_id=46
        <参数>
        ts_code:str 股票代码 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        period:str 报告期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        end_date:str 报告期 Y
        revenue:float 营业收入(元) Y
        operate_profit:float 营业利润(元) Y
        total_profit:float 利润总额(元) Y
        n_income:float 净利润(元) Y
        total_assets:float 总资产(元) Y
        total_hldr_eqy_exc_min_int:float 股东权益合计(不含少数股东权益)(元) Y
        diluted_eps:float 每股收益(摊薄)(元) Y
        diluted_roe:float 净资产收益率(摊薄)(%) Y
        yoy_net_profit:float 去年同期修正后净利润 Y
        bps:float 每股净资产 Y
        yoy_sales:float 同比增长率:营业收入 N
        yoy_op:float 同比增长率:营业利润 N
        yoy_tp:float 同比增长率:利润总额 N
        yoy_dedu_np:float 同比增长率:归属母公司股东的净利润 N
        yoy_eps:float 同比增长率:基本每股收益 N
        yoy_roe:float 同比增减:加权平均净资产收益率 N
        growth_assets:float 比年初增长率:总资产 N
        yoy_equity:float 比年初增长率:归属母公司的股东权益 N
        growth_bps:float 比年初增长率:归属于母公司股东的每股净资产 N
        or_last_year:float 去年同期营业收入 N
        op_last_year:float 去年同期营业利润 N
        tp_last_year:float 去年同期利润总额 N
        np_last_year:float 去年同期净利润 N
        eps_last_year:float 去年同期每股收益 N
        open_net_assets:float 期初净资产 N
        open_bps:float 期初每股净资产 N
        perf_summary:str 业绩简要说明 Y
        is_audit:int 是否审计： 1是 0否 N
        remark:str 备注 N
        update_flag:str 更新标志 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'revenue' : 'float', 'operate_profit' : 'float', 'total_profit' : 'float', 'n_income' : 'float', 'total_assets' : 'float', 'total_hldr_eqy_exc_min_int' : 'float', 'diluted_eps' : 'float', 'diluted_roe' : 'float', 'yoy_net_profit' : 'float', 'bps' : 'float', 'yoy_sales' : 'float', 'yoy_op' : 'float', 'yoy_tp' : 'float', 'yoy_dedu_np' : 'float', 'yoy_eps' : 'float', 'yoy_roe' : 'float', 'growth_assets' : 'float', 'yoy_equity' : 'float', 'growth_bps' : 'float', 'or_last_year' : 'float', 'op_last_year' : 'float', 'tp_last_year' : 'float', 'np_last_year' : 'float', 'eps_last_year' : 'float', 'open_net_assets' : 'float', 'open_bps' : 'float', 'perf_summary' : 'str', 'is_audit' : 'int', 'remark' : 'str', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '报告期', 'revenue': '营业收入元', 'operate_profit': '营业利润元', 'total_profit': '利润总额元', 'n_income': '净利润元', 'total_assets': '总资产元', 'total_hldr_eqy_exc_min_int': '股东权益合计不含少数股东权益元', 'diluted_eps': '每股收益摊薄元', 'diluted_roe': '净资产收益率摊薄百分比', 'yoy_net_profit': '去年同期修正后净利润', 'bps': '每股净资产', 'yoy_sales': '同比增长率:营业收入', 'yoy_op': '同比增长率:营业利润', 'yoy_tp': '同比增长率:利润总额', 'yoy_dedu_np': '同比增长率:归属母公司股东的净利润', 'yoy_eps': '同比增长率:基本每股收益', 'yoy_roe': '同比增减:加权平均净资产收益率', 'growth_assets': '比年初增长率:总资产', 'yoy_equity': '比年初增长率:归属母公司的股东权益', 'growth_bps': '比年初增长率:归属于母公司股东的每股净资产', 'or_last_year': '去年同期营业收入', 'op_last_year': '去年同期营业利润', 'tp_last_year': '去年同期利润总额', 'np_last_year': '去年同期净利润', 'eps_last_year': '去年同期每股收益', 'open_net_assets': '期初净资产', 'open_bps': '期初每股净资产', 'perf_summary': '业绩简要说明', 'is_audit': '是否审计：1是0否', 'remark': '备注', 'update_flag': '更新标志'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="express",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def dividend(self,ts_code: str = None, ann_date: str = None, end_date: str = None, record_date: str = None, ex_date: str = None, imp_ann_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        分红送股
        https://tushare.pro/document/2?doc_id=103
        <参数>
        ts_code:str TS代码 N
        ann_date:str 公告日（格式：YYYYMMDD，下同） N
        end_date:str 分红年度 N
        record_date:str 股权登记日期 N
        ex_date:str 除权除息日 N
        imp_ann_date:str 实施公告日 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        end_date:str 分送年度 Y
        ann_date:str 预案公告日（董事会） Y
        div_proc:str 实施进度 Y
        stk_div:float 每股送转 Y
        stk_bo_rate:float 每股送股比例 Y
        stk_co_rate:float 每股转增比例 Y
        cash_div:float 每股分红（税后） Y
        cash_div_tax:float 每股分红（税前） Y
        record_date:str 股权登记日 Y
        ex_date:str 除权除息日 Y
        pay_date:str 派息日 Y
        div_listdate:str 红股上市日 Y
        imp_ann_date:str 实施公告日 Y
        base_date:str 基准日 N
        base_share:float 实施基准股本（万） N
        update_flag:str 是否变更过（1表示变更） N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'ann_date' : 'str', 'div_proc' : 'str', 'stk_div' : 'float', 'stk_bo_rate' : 'float', 'stk_co_rate' : 'float', 'cash_div' : 'float', 'cash_div_tax' : 'float', 'record_date' : 'str', 'ex_date' : 'str', 'pay_date' : 'str', 'div_listdate' : 'str', 'imp_ann_date' : 'str', 'base_date' : 'str', 'base_share' : 'float', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '分送年度', 'ann_date': '预案公告日董事会', 'div_proc': '实施进度', 'stk_div': '每股送转', 'stk_bo_rate': '每股送股比例', 'stk_co_rate': '每股转增比例', 'cash_div': '每股分红税后', 'cash_div_tax': '每股分红税前', 'record_date': '股权登记日', 'ex_date': '除权除息日', 'pay_date': '派息日', 'div_listdate': '红股上市日', 'imp_ann_date': '实施公告日', 'base_date': '基准日', 'base_share': '实施基准股本万', 'update_flag': '是否变更过1表示变更'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="dividend",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fina_indicator(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, update_flag: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        财务指标数据
        https://tushare.pro/document/2?doc_id=79
        <参数>
        ts_code:str 股票代码 Y
        ann_date:str 公告日期 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        period:str 报告期 N
        update_flag:str 更新标志 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 公告日期 Y
        end_date:str 报告期 Y
        eps:float 基本每股收益 Y
        dt_eps:float 稀释每股收益 Y
        total_revenue_ps:float 每股营业总收入 Y
        revenue_ps:float 每股营业收入 Y
        capital_rese_ps:float 每股资本公积 Y
        surplus_rese_ps:float 每股盈余公积 Y
        undist_profit_ps:float 每股未分配利润 Y
        extra_item:float 非经常性损益 Y
        profit_dedt:float 扣除非经常性损益后的净利润 Y
        gross_margin:float 毛利 Y
        current_ratio:float 流动比率 Y
        quick_ratio:float 速动比率 Y
        cash_ratio:float 保守速动比率 Y
        invturn_days:float 存货周转天数 N
        arturn_days:float 应收账款周转天数 N
        inv_turn:float 存货周转率 N
        ar_turn:float 应收账款周转率 Y
        ca_turn:float 流动资产周转率 Y
        fa_turn:float 固定资产周转率 Y
        assets_turn:float 总资产周转率 Y
        op_income:float 经营活动净收益 Y
        valuechange_income:float 价值变动净收益 N
        interst_income:float 利息费用 N
        daa:float 折旧与摊销 N
        ebit:float 息税前利润 Y
        ebitda:float 息税折旧摊销前利润 Y
        fcff:float 企业自由现金流量 Y
        fcfe:float 股权自由现金流量 Y
        current_exint:float 无息流动负债 Y
        noncurrent_exint:float 无息非流动负债 Y
        interestdebt:float 带息债务 Y
        netdebt:float 净债务 Y
        tangible_asset:float 有形资产 Y
        working_capital:float 营运资金 Y
        networking_capital:float 营运流动资本 Y
        invest_capital:float 全部投入资本 Y
        retained_earnings:float 留存收益 Y
        diluted2_eps:float 期末摊薄每股收益 Y
        bps:float 每股净资产 Y
        ocfps:float 每股经营活动产生的现金流量净额 Y
        retainedps:float 每股留存收益 Y
        cfps:float 每股现金流量净额 Y
        ebit_ps:float 每股息税前利润 Y
        fcff_ps:float 每股企业自由现金流量 Y
        fcfe_ps:float 每股股东自由现金流量 Y
        netprofit_margin:float 销售净利率 Y
        grossprofit_margin:float 销售毛利率 Y
        cogs_of_sales:float 销售成本率 Y
        expense_of_sales:float 销售期间费用率 Y
        profit_to_gr:float 净利润/营业总收入 Y
        saleexp_to_gr:float 销售费用/营业总收入 Y
        adminexp_of_gr:float 管理费用/营业总收入 Y
        finaexp_of_gr:float 财务费用/营业总收入 Y
        impai_ttm:float 资产减值损失/营业总收入 Y
        gc_of_gr:float 营业总成本/营业总收入 Y
        op_of_gr:float 营业利润/营业总收入 Y
        ebit_of_gr:float 息税前利润/营业总收入 Y
        roe:float 净资产收益率 Y
        roe_waa:float 加权平均净资产收益率 Y
        roe_dt:float 净资产收益率(扣除非经常损益) Y
        roa:float 总资产报酬率 Y
        npta:float 总资产净利润 Y
        roic:float 投入资本回报率 Y
        roe_yearly:float 年化净资产收益率 Y
        roa2_yearly:float 年化总资产报酬率 Y
        roe_avg:float 平均净资产收益率(增发条件) N
        opincome_of_ebt:float 经营活动净收益/利润总额 N
        investincome_of_ebt:float 价值变动净收益/利润总额 N
        n_op_profit_of_ebt:float 营业外收支净额/利润总额 N
        tax_to_ebt:float 所得税/利润总额 N
        dtprofit_to_profit:float 扣除非经常损益后的净利润/净利润 N
        salescash_to_or:float 销售商品提供劳务收到的现金/营业收入 N
        ocf_to_or:float 经营活动产生的现金流量净额/营业收入 N
        ocf_to_opincome:float 经营活动产生的现金流量净额/经营活动净收益 N
        capitalized_to_da:float 资本支出/折旧和摊销 N
        debt_to_assets:float 资产负债率 Y
        assets_to_eqt:float 权益乘数 Y
        dp_assets_to_eqt:float 权益乘数(杜邦分析) Y
        ca_to_assets:float 流动资产/总资产 Y
        nca_to_assets:float 非流动资产/总资产 Y
        tbassets_to_totalassets:float 有形资产/总资产 Y
        int_to_talcap:float 带息债务/全部投入资本 Y
        eqt_to_talcapital:float 归属于母公司的股东权益/全部投入资本 Y
        currentdebt_to_debt:float 流动负债/负债合计 Y
        longdeb_to_debt:float 非流动负债/负债合计 Y
        ocf_to_shortdebt:float 经营活动产生的现金流量净额/流动负债 Y
        debt_to_eqt:float 产权比率 Y
        eqt_to_debt:float 归属于母公司的股东权益/负债合计 Y
        eqt_to_interestdebt:float 归属于母公司的股东权益/带息债务 Y
        tangibleasset_to_debt:float 有形资产/负债合计 Y
        tangasset_to_intdebt:float 有形资产/带息债务 Y
        tangibleasset_to_netdebt:float 有形资产/净债务 Y
        ocf_to_debt:float 经营活动产生的现金流量净额/负债合计 Y
        ocf_to_interestdebt:float 经营活动产生的现金流量净额/带息债务 N
        ocf_to_netdebt:float 经营活动产生的现金流量净额/净债务 N
        ebit_to_interest:float 已获利息倍数(EBIT/利息费用) N
        longdebt_to_workingcapital:float 长期债务与营运资金比率 N
        ebitda_to_debt:float 息税折旧摊销前利润/负债合计 N
        turn_days:float 营业周期 Y
        roa_yearly:float 年化总资产净利率 Y
        roa_dp:float 总资产净利率(杜邦分析) Y
        fixed_assets:float 固定资产合计 Y
        profit_prefin_exp:float 扣除财务费用前营业利润 N
        non_op_profit:float 非营业利润 N
        op_to_ebt:float 营业利润／利润总额 N
        nop_to_ebt:float 非营业利润／利润总额 N
        ocf_to_profit:float 经营活动产生的现金流量净额／营业利润 N
        cash_to_liqdebt:float 货币资金／流动负债 N
        cash_to_liqdebt_withinterest:float 货币资金／带息流动负债 N
        op_to_liqdebt:float 营业利润／流动负债 N
        op_to_debt:float 营业利润／负债合计 N
        roic_yearly:float 年化投入资本回报率 N
        total_fa_trun:float 固定资产合计周转率 N
        profit_to_op:float 利润总额／营业收入 Y
        q_opincome:float 经营活动单季度净收益 N
        q_investincome:float 价值变动单季度净收益 N
        q_dtprofit:float 扣除非经常损益后的单季度净利润 N
        q_eps:float 每股收益(单季度) N
        q_netprofit_margin:float 销售净利率(单季度) N
        q_gsprofit_margin:float 销售毛利率(单季度) N
        q_exp_to_sales:float 销售期间费用率(单季度) N
        q_profit_to_gr:float 净利润／营业总收入(单季度) N
        q_saleexp_to_gr:float 销售费用／营业总收入 (单季度) Y
        q_adminexp_to_gr:float 管理费用／营业总收入 (单季度) N
        q_finaexp_to_gr:float 财务费用／营业总收入 (单季度) N
        q_impair_to_gr_ttm:float 资产减值损失／营业总收入(单季度) N
        q_gc_to_gr:float 营业总成本／营业总收入 (单季度) Y
        q_op_to_gr:float 营业利润／营业总收入(单季度) N
        q_roe:float 净资产收益率(单季度) Y
        q_dt_roe:float 净资产单季度收益率(扣除非经常损益) Y
        q_npta:float 总资产净利润(单季度) Y
        q_opincome_to_ebt:float 经营活动净收益／利润总额(单季度) N
        q_investincome_to_ebt:float 价值变动净收益／利润总额(单季度) N
        q_dtprofit_to_profit:float 扣除非经常损益后的净利润／净利润(单季度) N
        q_salescash_to_or:float 销售商品提供劳务收到的现金／营业收入(单季度) N
        q_ocf_to_sales:float 经营活动产生的现金流量净额／营业收入(单季度) Y
        q_ocf_to_or:float 经营活动产生的现金流量净额／经营活动净收益(单季度) N
        basic_eps_yoy:float 基本每股收益同比增长率(%) Y
        dt_eps_yoy:float 稀释每股收益同比增长率(%) Y
        cfps_yoy:float 每股经营活动产生的现金流量净额同比增长率(%) Y
        op_yoy:float 营业利润同比增长率(%) Y
        ebt_yoy:float 利润总额同比增长率(%) Y
        netprofit_yoy:float 归属母公司股东的净利润同比增长率(%) Y
        dt_netprofit_yoy:float 归属母公司股东的净利润-扣除非经常损益同比增长率(%) Y
        ocf_yoy:float 经营活动产生的现金流量净额同比增长率(%) Y
        roe_yoy:float 净资产收益率(摊薄)同比增长率(%) Y
        bps_yoy:float 每股净资产相对年初增长率(%) Y
        assets_yoy:float 资产总计相对年初增长率(%) Y
        eqt_yoy:float 归属母公司的股东权益相对年初增长率(%) Y
        tr_yoy:float 营业总收入同比增长率(%) Y
        or_yoy:float 营业收入同比增长率(%) Y
        q_gr_yoy:float 营业总收入同比增长率(%)(单季度) N
        q_gr_qoq:float 营业总收入环比增长率(%)(单季度) N
        q_sales_yoy:float 营业收入同比增长率(%)(单季度) Y
        q_sales_qoq:float 营业收入环比增长率(%)(单季度) N
        q_op_yoy:float 营业利润同比增长率(%)(单季度) N
        q_op_qoq:float 营业利润环比增长率(%)(单季度) Y
        q_profit_yoy:float 净利润同比增长率(%)(单季度) N
        q_profit_qoq:float 净利润环比增长率(%)(单季度) N
        q_netprofit_yoy:float 归属母公司股东的净利润同比增长率(%)(单季度) N
        q_netprofit_qoq:float 归属母公司股东的净利润环比增长率(%)(单季度) N
        equity_yoy:float 净资产同比增长率 Y
        rd_exp:float 研发费用 N
        update_flag:str 更新标识 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'eps' : 'float', 'dt_eps' : 'float', 'total_revenue_ps' : 'float', 'revenue_ps' : 'float', 'capital_rese_ps' : 'float', 'surplus_rese_ps' : 'float', 'undist_profit_ps' : 'float', 'extra_item' : 'float', 'profit_dedt' : 'float', 'gross_margin' : 'float', 'current_ratio' : 'float', 'quick_ratio' : 'float', 'cash_ratio' : 'float', 'invturn_days' : 'float', 'arturn_days' : 'float', 'inv_turn' : 'float', 'ar_turn' : 'float', 'ca_turn' : 'float', 'fa_turn' : 'float', 'assets_turn' : 'float', 'op_income' : 'float', 'valuechange_income' : 'float', 'interst_income' : 'float', 'daa' : 'float', 'ebit' : 'float', 'ebitda' : 'float', 'fcff' : 'float', 'fcfe' : 'float', 'current_exint' : 'float', 'noncurrent_exint' : 'float', 'interestdebt' : 'float', 'netdebt' : 'float', 'tangible_asset' : 'float', 'working_capital' : 'float', 'networking_capital' : 'float', 'invest_capital' : 'float', 'retained_earnings' : 'float', 'diluted2_eps' : 'float', 'bps' : 'float', 'ocfps' : 'float', 'retainedps' : 'float', 'cfps' : 'float', 'ebit_ps' : 'float', 'fcff_ps' : 'float', 'fcfe_ps' : 'float', 'netprofit_margin' : 'float', 'grossprofit_margin' : 'float', 'cogs_of_sales' : 'float', 'expense_of_sales' : 'float', 'profit_to_gr' : 'float', 'saleexp_to_gr' : 'float', 'adminexp_of_gr' : 'float', 'finaexp_of_gr' : 'float', 'impai_ttm' : 'float', 'gc_of_gr' : 'float', 'op_of_gr' : 'float', 'ebit_of_gr' : 'float', 'roe' : 'float', 'roe_waa' : 'float', 'roe_dt' : 'float', 'roa' : 'float', 'npta' : 'float', 'roic' : 'float', 'roe_yearly' : 'float', 'roa2_yearly' : 'float', 'roe_avg' : 'float', 'opincome_of_ebt' : 'float', 'investincome_of_ebt' : 'float', 'n_op_profit_of_ebt' : 'float', 'tax_to_ebt' : 'float', 'dtprofit_to_profit' : 'float', 'salescash_to_or' : 'float', 'ocf_to_or' : 'float', 'ocf_to_opincome' : 'float', 'capitalized_to_da' : 'float', 'debt_to_assets' : 'float', 'assets_to_eqt' : 'float', 'dp_assets_to_eqt' : 'float', 'ca_to_assets' : 'float', 'nca_to_assets' : 'float', 'tbassets_to_totalassets' : 'float', 'int_to_talcap' : 'float', 'eqt_to_talcapital' : 'float', 'currentdebt_to_debt' : 'float', 'longdeb_to_debt' : 'float', 'ocf_to_shortdebt' : 'float', 'debt_to_eqt' : 'float', 'eqt_to_debt' : 'float', 'eqt_to_interestdebt' : 'float', 'tangibleasset_to_debt' : 'float', 'tangasset_to_intdebt' : 'float', 'tangibleasset_to_netdebt' : 'float', 'ocf_to_debt' : 'float', 'ocf_to_interestdebt' : 'float', 'ocf_to_netdebt' : 'float', 'ebit_to_interest' : 'float', 'longdebt_to_workingcapital' : 'float', 'ebitda_to_debt' : 'float', 'turn_days' : 'float', 'roa_yearly' : 'float', 'roa_dp' : 'float', 'fixed_assets' : 'float', 'profit_prefin_exp' : 'float', 'non_op_profit' : 'float', 'op_to_ebt' : 'float', 'nop_to_ebt' : 'float', 'ocf_to_profit' : 'float', 'cash_to_liqdebt' : 'float', 'cash_to_liqdebt_withinterest' : 'float', 'op_to_liqdebt' : 'float', 'op_to_debt' : 'float', 'roic_yearly' : 'float', 'total_fa_trun' : 'float', 'profit_to_op' : 'float', 'q_opincome' : 'float', 'q_investincome' : 'float', 'q_dtprofit' : 'float', 'q_eps' : 'float', 'q_netprofit_margin' : 'float', 'q_gsprofit_margin' : 'float', 'q_exp_to_sales' : 'float', 'q_profit_to_gr' : 'float', 'q_saleexp_to_gr' : 'float', 'q_adminexp_to_gr' : 'float', 'q_finaexp_to_gr' : 'float', 'q_impair_to_gr_ttm' : 'float', 'q_gc_to_gr' : 'float', 'q_op_to_gr' : 'float', 'q_roe' : 'float', 'q_dt_roe' : 'float', 'q_npta' : 'float', 'q_opincome_to_ebt' : 'float', 'q_investincome_to_ebt' : 'float', 'q_dtprofit_to_profit' : 'float', 'q_salescash_to_or' : 'float', 'q_ocf_to_sales' : 'float', 'q_ocf_to_or' : 'float', 'basic_eps_yoy' : 'float', 'dt_eps_yoy' : 'float', 'cfps_yoy' : 'float', 'op_yoy' : 'float', 'ebt_yoy' : 'float', 'netprofit_yoy' : 'float', 'dt_netprofit_yoy' : 'float', 'ocf_yoy' : 'float', 'roe_yoy' : 'float', 'bps_yoy' : 'float', 'assets_yoy' : 'float', 'eqt_yoy' : 'float', 'tr_yoy' : 'float', 'or_yoy' : 'float', 'q_gr_yoy' : 'float', 'q_gr_qoq' : 'float', 'q_sales_yoy' : 'float', 'q_sales_qoq' : 'float', 'q_op_yoy' : 'float', 'q_op_qoq' : 'float', 'q_profit_yoy' : 'float', 'q_profit_qoq' : 'float', 'q_netprofit_yoy' : 'float', 'q_netprofit_qoq' : 'float', 'equity_yoy' : 'float', 'rd_exp' : 'float', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '报告期', 'eps': '基本每股收益', 'dt_eps': '稀释每股收益', 'total_revenue_ps': '每股营业总收入', 'revenue_ps': '每股营业收入', 'capital_rese_ps': '每股资本公积', 'surplus_rese_ps': '每股盈余公积', 'undist_profit_ps': '每股未分配利润', 'extra_item': '非经常性损益', 'profit_dedt': '扣除非经常性损益后的净利润', 'gross_margin': '毛利', 'current_ratio': '流动比率', 'quick_ratio': '速动比率', 'cash_ratio': '保守速动比率', 'invturn_days': '存货周转天数', 'arturn_days': '应收账款周转天数', 'inv_turn': '存货周转率', 'ar_turn': '应收账款周转率', 'ca_turn': '流动资产周转率', 'fa_turn': '固定资产周转率', 'assets_turn': '总资产周转率', 'op_income': '经营活动净收益', 'valuechange_income': '价值变动净收益', 'interst_income': '利息费用', 'daa': '折旧与摊销', 'ebit': '息税前利润', 'ebitda': '息税折旧摊销前利润', 'fcff': '企业自由现金流量', 'fcfe': '股权自由现金流量', 'current_exint': '无息流动负债', 'noncurrent_exint': '无息非流动负债', 'interestdebt': '带息债务', 'netdebt': '净债务', 'tangible_asset': '有形资产', 'working_capital': '营运资金', 'networking_capital': '营运流动资本', 'invest_capital': '全部投入资本', 'retained_earnings': '留存收益', 'diluted2_eps': '期末摊薄每股收益', 'bps': '每股净资产', 'ocfps': '每股经营活动产生的现金流量净额', 'retainedps': '每股留存收益', 'cfps': '每股现金流量净额', 'ebit_ps': '每股息税前利润', 'fcff_ps': '每股企业自由现金流量', 'fcfe_ps': '每股股东自由现金流量', 'netprofit_margin': '销售净利率', 'grossprofit_margin': '销售毛利率', 'cogs_of_sales': '销售成本率', 'expense_of_sales': '销售期间费用率', 'profit_to_gr': '净利润/营业总收入', 'saleexp_to_gr': '销售费用/营业总收入', 'adminexp_of_gr': '管理费用/营业总收入', 'finaexp_of_gr': '财务费用/营业总收入', 'impai_ttm': '资产减值损失/营业总收入', 'gc_of_gr': '营业总成本/营业总收入', 'op_of_gr': '营业利润/营业总收入', 'ebit_of_gr': '息税前利润/营业总收入', 'roe': '净资产收益率', 'roe_waa': '加权平均净资产收益率', 'roe_dt': '净资产收益率扣除非经常损益', 'roa': '总资产报酬率', 'npta': '总资产净利润', 'roic': '投入资本回报率', 'roe_yearly': '年化净资产收益率', 'roa2_yearly': '年化总资产报酬率', 'roe_avg': '平均净资产收益率增发条件', 'opincome_of_ebt': '经营活动净收益/利润总额', 'investincome_of_ebt': '价值变动净收益/利润总额', 'n_op_profit_of_ebt': '营业外收支净额/利润总额', 'tax_to_ebt': '所得税/利润总额', 'dtprofit_to_profit': '扣除非经常损益后的净利润/净利润', 'salescash_to_or': '销售商品提供劳务收到的现金/营业收入', 'ocf_to_or': '经营活动产生的现金流量净额/营业收入', 'ocf_to_opincome': '经营活动产生的现金流量净额/经营活动净收益', 'capitalized_to_da': '资本支出/折旧和摊销', 'debt_to_assets': '资产负债率', 'assets_to_eqt': '权益乘数', 'dp_assets_to_eqt': '权益乘数杜邦分析', 'ca_to_assets': '流动资产/总资产', 'nca_to_assets': '非流动资产/总资产', 'tbassets_to_totalassets': '有形资产/总资产', 'int_to_talcap': '带息债务/全部投入资本', 'eqt_to_talcapital': '归属于母公司的股东权益/全部投入资本', 'currentdebt_to_debt': '流动负债/负债合计', 'longdeb_to_debt': '非流动负债/负债合计', 'ocf_to_shortdebt': '经营活动产生的现金流量净额/流动负债', 'debt_to_eqt': '产权比率', 'eqt_to_debt': '归属于母公司的股东权益/负债合计', 'eqt_to_interestdebt': '归属于母公司的股东权益/带息债务', 'tangibleasset_to_debt': '有形资产/负债合计', 'tangasset_to_intdebt': '有形资产/带息债务', 'tangibleasset_to_netdebt': '有形资产/净债务', 'ocf_to_debt': '经营活动产生的现金流量净额/负债合计', 'ocf_to_interestdebt': '经营活动产生的现金流量净额/带息债务', 'ocf_to_netdebt': '经营活动产生的现金流量净额/净债务', 'ebit_to_interest': '已获利息倍数EBIT/利息费用', 'longdebt_to_workingcapital': '长期债务与营运资金比率', 'ebitda_to_debt': '息税折旧摊销前利润/负债合计', 'turn_days': '营业周期', 'roa_yearly': '年化总资产净利率', 'roa_dp': '总资产净利率杜邦分析', 'fixed_assets': '固定资产合计', 'profit_prefin_exp': '扣除财务费用前营业利润', 'non_op_profit': '非营业利润', 'op_to_ebt': '营业利润／利润总额', 'nop_to_ebt': '非营业利润／利润总额', 'ocf_to_profit': '经营活动产生的现金流量净额／营业利润', 'cash_to_liqdebt': '货币资金／流动负债', 'cash_to_liqdebt_withinterest': '货币资金／带息流动负债', 'op_to_liqdebt': '营业利润／流动负债', 'op_to_debt': '营业利润／负债合计', 'roic_yearly': '年化投入资本回报率', 'total_fa_trun': '固定资产合计周转率', 'profit_to_op': '利润总额／营业收入', 'q_opincome': '经营活动单季度净收益', 'q_investincome': '价值变动单季度净收益', 'q_dtprofit': '扣除非经常损益后的单季度净利润', 'q_eps': '每股收益单季度', 'q_netprofit_margin': '销售净利率单季度', 'q_gsprofit_margin': '销售毛利率单季度', 'q_exp_to_sales': '销售期间费用率单季度', 'q_profit_to_gr': '净利润／营业总收入单季度', 'q_saleexp_to_gr': '销售费用／营业总收入单季度', 'q_adminexp_to_gr': '管理费用／营业总收入单季度', 'q_finaexp_to_gr': '财务费用／营业总收入单季度', 'q_impair_to_gr_ttm': '资产减值损失／营业总收入单季度', 'q_gc_to_gr': '营业总成本／营业总收入单季度', 'q_op_to_gr': '营业利润／营业总收入单季度', 'q_roe': '净资产收益率单季度', 'q_dt_roe': '净资产单季度收益率扣除非经常损益', 'q_npta': '总资产净利润单季度', 'q_opincome_to_ebt': '经营活动净收益／利润总额单季度', 'q_investincome_to_ebt': '价值变动净收益／利润总额单季度', 'q_dtprofit_to_profit': '扣除非经常损益后的净利润／净利润单季度', 'q_salescash_to_or': '销售商品提供劳务收到的现金／营业收入单季度', 'q_ocf_to_sales': '经营活动产生的现金流量净额／营业收入单季度', 'q_ocf_to_or': '经营活动产生的现金流量净额／经营活动净收益单季度', 'basic_eps_yoy': '基本每股收益同比增长率百分比', 'dt_eps_yoy': '稀释每股收益同比增长率百分比', 'cfps_yoy': '每股经营活动产生的现金流量净额同比增长率百分比', 'op_yoy': '营业利润同比增长率百分比', 'ebt_yoy': '利润总额同比增长率百分比', 'netprofit_yoy': '归属母公司股东的净利润同比增长率百分比', 'dt_netprofit_yoy': '归属母公司股东的净利润-扣除非经常损益同比增长率百分比', 'ocf_yoy': '经营活动产生的现金流量净额同比增长率百分比', 'roe_yoy': '净资产收益率摊薄同比增长率百分比', 'bps_yoy': '每股净资产相对年初增长率百分比', 'assets_yoy': '资产总计相对年初增长率百分比', 'eqt_yoy': '归属母公司的股东权益相对年初增长率百分比', 'tr_yoy': '营业总收入同比增长率百分比', 'or_yoy': '营业收入同比增长率百分比', 'q_gr_yoy': '营业总收入同比增长率百分比单季度', 'q_gr_qoq': '营业总收入环比增长率百分比单季度', 'q_sales_yoy': '营业收入同比增长率百分比单季度', 'q_sales_qoq': '营业收入环比增长率百分比单季度', 'q_op_yoy': '营业利润同比增长率百分比单季度', 'q_op_qoq': '营业利润环比增长率百分比单季度', 'q_profit_yoy': '净利润同比增长率百分比单季度', 'q_profit_qoq': '净利润环比增长率百分比单季度', 'q_netprofit_yoy': '归属母公司股东的净利润同比增长率百分比单季度', 'q_netprofit_qoq': '归属母公司股东的净利润环比增长率百分比单季度', 'equity_yoy': '净资产同比增长率', 'rd_exp': '研发费用', 'update_flag': '更新标识'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fina_indicator",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fina_audit(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        财务审计意见
        https://tushare.pro/document/2?doc_id=80
        <参数>
        ts_code:str 股票代码 Y
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        period:str 报告期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        end_date:str 报告期 Y
        audit_result:str 审计结果 Y
        audit_fees:float 审计总费用（元） Y
        audit_agency:str 会计事务所 Y
        audit_sign:str 签字会计师 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'audit_result' : 'str', 'audit_fees' : 'float', 'audit_agency' : 'str', 'audit_sign' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '报告期', 'audit_result': '审计结果', 'audit_fees': '审计总费用元', 'audit_agency': '会计事务所', 'audit_sign': '签字会计师'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fina_audit",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fina_mainbz(self,ts_code: str = None, period: str = None, type: str = None, start_date: str = None, end_date: str = None, is_publish: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        主营业务构成
        https://tushare.pro/document/2?doc_id=81
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期 N
        type:str 类型：P按产品 D按地区 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        is_publish:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        end_date:str 报告期 Y
        bz_item:str 主营业务项目 Y
        bz_code:str 项目代码 Y
        bz_sales:float 主营业务收入(元) Y
        bz_profit:float 主营业务利润(元) Y
        bz_cost:float 主营业务成本(元) Y
        curr_type:str 货币代码 Y
        update_flag:str 是否更新 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'bz_item' : 'str', 'bz_code' : 'str', 'bz_sales' : 'float', 'bz_profit' : 'float', 'bz_cost' : 'float', 'curr_type' : 'str', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '报告期', 'bz_item': '主营业务项目', 'bz_code': '项目代码', 'bz_sales': '主营业务收入元', 'bz_profit': '主营业务利润元', 'bz_cost': '主营业务成本元', 'curr_type': '货币代码', 'update_flag': '是否更新'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fina_mainbz",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def disclosure_date(self,ts_code: str = None, end_date: str = None, pre_date: str = None, ann_date: str = None, actual_date: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        财报披露计划
        https://tushare.pro/document/2?doc_id=162
        <参数>
        ts_code:str TS股票代码 N
        end_date:str 财报周期 N
        pre_date:str 计划披露日期 N
        ann_date:str 最新披露公告日 N
        actual_date:str 实际披露日期 N
        offset:int  N
        limit:int  N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 最新披露公告日 Y
        end_date:str 报告期 Y
        pre_date:str 预计披露日期 Y
        actual_date:str 实际披露日期 Y
        modify_date:str 披露日期修正记录 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'pre_date' : 'str', 'actual_date' : 'str', 'modify_date' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '最新披露公告日', 'end_date': '报告期', 'pre_date': '预计披露日期', 'actual_date': '实际披露日期', 'modify_date': '披露日期修正记录'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="disclosure_date",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def top10_holders(self,ts_code: str = None, period: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, offset: str = None, limit: str = None, hold_type: str = None,fields:str='' )->Query:
        """
        前十大股东
        https://tushare.pro/document/2?doc_id=61
        <参数>
        ts_code:str TS代码 N
        period:str 报告期 N
        ann_date:str 公告日期 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        offset:str  N
        limit:str  N
        hold_type:str  
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        end_date:str 报告期 Y
        holder_name:str 股东名称 Y
        hold_amount:float 持有数量 Y
        hold_ratio:float 占总股本比例(%) Y
        hold_float_ratio:float 占流通股本比例(%) Y
        hold_change:float 持股变动 Y
        holder_type:str 股东性质 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'holder_name' : 'str', 'hold_amount' : 'float', 'hold_ratio' : 'float', 'hold_float_ratio' : 'float', 'hold_change' : 'float', 'holder_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '报告期', 'holder_name': '股东名称', 'hold_amount': '持有数量', 'hold_ratio': '占总股本比例百分比', 'hold_float_ratio': '占流通股本比例百分比', 'hold_change': '持股变动', 'holder_type': '股东性质'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="top10_holders",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def top10_floatholders(self,ts_code: str = None, period: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, offset: str = None, limit: str = None, hold_type: str = None,fields:str='' )->Query:
        """
        前十大流通股东
        https://tushare.pro/document/2?doc_id=62
        <参数>
        ts_code:str TS代码 N
        period:str 报告期 N
        ann_date:str 公告日期 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        offset:str  N
        limit:str  N
        hold_type:str  
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        end_date:str 报告期 Y
        holder_name:str 股东名称 Y
        hold_amount:float 持有数量 Y
        hold_ratio:float 占总股本比例(%) Y
        hold_float_ratio:float 占流通股本比例(%) Y
        hold_change:float 持股变动 Y
        holder_type:str 股东性质 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'holder_name' : 'str', 'hold_amount' : 'float', 'hold_ratio' : 'float', 'hold_float_ratio' : 'float', 'hold_change' : 'float', 'holder_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '报告期', 'holder_name': '股东名称', 'hold_amount': '持有数量', 'hold_ratio': '占总股本比例百分比', 'hold_float_ratio': '占流通股本比例百分比', 'hold_change': '持股变动', 'holder_type': '股东性质'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="top10_floatholders",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def pledge_stat(self,ts_code: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股权质押统计数据
        https://tushare.pro/document/2?doc_id=110
        <参数>
        ts_code:str 股票代码 N
        end_date:str 截止日期（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        end_date:str 截至日期 Y
        pledge_count:int 质押次数 Y
        unrest_pledge:float 无限售股质押数量（万） Y
        rest_pledge:float 限售股份质押数量（万） Y
        total_share:float 总股本 Y
        pledge_ratio:float 质押比例 Y
        update_flag:str 更新标识 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'pledge_count' : 'int', 'unrest_pledge' : 'float', 'rest_pledge' : 'float', 'total_share' : 'float', 'pledge_ratio' : 'float', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '截至日期', 'pledge_count': '质押次数', 'unrest_pledge': '无限售股质押数量万', 'rest_pledge': '限售股份质押数量万', 'total_share': '总股本', 'pledge_ratio': '质押比例', 'update_flag': '更新标识'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="pledge_stat",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def pledge_detail(self,ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股权质押明细
        https://tushare.pro/document/2?doc_id=111
        <参数>
        ts_code:str 股票代码 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        holder_name:str 股东名称 Y
        holder_type:str 股东类型 N
        pledge_amount:float 质押数量 Y
        start_date:str 质押开始日期 Y
        end_date:str 质押结束日期 Y
        is_release:str 是否已解押 Y
        release_date:str 解押日期 Y
        pledgor:str 质押方 Y
        holding_amount:float 持股总数 Y
        pledged_amount:float 质押总数 Y
        p_total_ratio:float 本次质押占总股本比例 Y
        h_total_ratio:float 持股总数占总股本比例 Y
        is_buyback:str 是否回购 Y
        desc:str 备注 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'holder_name' : 'str', 'holder_type' : 'str', 'pledge_amount' : 'float', 'start_date' : 'str', 'end_date' : 'str', 'is_release' : 'str', 'release_date' : 'str', 'pledgor' : 'str', 'holding_amount' : 'float', 'pledged_amount' : 'float', 'p_total_ratio' : 'float', 'h_total_ratio' : 'float', 'is_buyback' : 'str', 'desc' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'holder_name': '股东名称', 'holder_type': '股东类型', 'pledge_amount': '质押数量', 'start_date': '质押开始日期', 'end_date': '质押结束日期', 'is_release': '是否已解押', 'release_date': '解押日期', 'pledgor': '质押方', 'holding_amount': '持股总数', 'pledged_amount': '质押总数', 'p_total_ratio': '本次质押占总股本比例', 'h_total_ratio': '持股总数占总股本比例', 'is_buyback': '是否回购', 'desc': '备注'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="pledge_detail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def repurchase(self,ann_date: str = None, start_date: str = None, end_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票回购
        https://tushare.pro/document/2?doc_id=124
        <参数>
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        ts_code:str TS代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 公告日期 Y
        end_date:str 截止日期 Y
        proc:str 进度 Y
        exp_date:str 过期日期 Y
        vol:float 回购数量 Y
        amount:float 回购金额 Y
        high_limit:float 回购最高价 Y
        low_limit:float 回购最低价 Y
        repo_goal:str 回购目的 N
        update_flag:str 更新标识 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'proc' : 'str', 'exp_date' : 'str', 'vol' : 'float', 'amount' : 'float', 'high_limit' : 'float', 'low_limit' : 'float', 'repo_goal' : 'str', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '截止日期', 'proc': '进度', 'exp_date': '过期日期', 'vol': '回购数量', 'amount': '回购金额', 'high_limit': '回购最高价', 'low_limit': '回购最低价', 'repo_goal': '回购目的', 'update_flag': '更新标识'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="repurchase",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def share_float(self,ts_code: str = None, ann_date: str = None, float_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        限售股解禁
        https://tushare.pro/document/2?doc_id=160
        <参数>
        ts_code:str TS股票代码 N
        ann_date:str 公告日期 N
        float_date:str 解禁日期 N
        start_date:str 解禁开始日期 N
        end_date:str 解禁结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 公告日期 Y
        float_date:str 解禁日期 Y
        float_share:float 流通股份 Y
        float_ratio:float 流通股份占总股本比率 Y
        holder_name:str 股东名称 Y
        share_type:str 股份类型 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'float_date' : 'str', 'float_share' : 'float', 'float_ratio' : 'float', 'holder_name' : 'str', 'share_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'float_date': '解禁日期', 'float_share': '流通股份', 'float_ratio': '流通股份占总股本比率', 'holder_name': '股东名称', 'share_type': '股份类型'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="share_float",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def block_trade(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        大宗交易
        https://tushare.pro/document/2?doc_id=161
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 交易日历 Y
        price:float 成交价 Y
        vol:float 成交量（万股） Y
        amount:float 成交金额 Y
        buyer:str 买方营业部 Y
        seller:str 卖房营业部 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'price' : 'float', 'vol' : 'float', 'amount' : 'float', 'buyer' : 'str', 'seller' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日历', 'price': '成交价', 'vol': '成交量万股', 'amount': '成交金额', 'buyer': '买方营业部', 'seller': '卖房营业部'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="block_trade",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_account(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票账户开户数据
        https://tushare.pro/document/2?doc_id=164
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 统计周期 Y
        weekly_new:float 本周新增 Y
        total:float 期末总账户数 Y
        weekly_hold:float 本周持仓账户数 Y
        weekly_trade:float 本周参与交易账户数 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'weekly_new' : 'float', 'total' : 'float', 'weekly_hold' : 'float', 'weekly_trade' : 'float'}
        column_name_dict = {'date': '统计周期', 'weekly_new': '本周新增', 'total': '期末总账户数', 'weekly_hold': '本周持仓账户数', 'weekly_trade': '本周参与交易账户数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_account",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_account_old(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票账户开户数据（旧）
        https://tushare.pro/document/2?doc_id=165
        <参数>
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 统计周期 Y
        new_sh:int 本周新增（上海，户） Y
        new_sz:int 本周新增（深圳，户） Y
        active_sh:float 期末有效账户（上海，万户） Y
        active_sz:float 期末有效账户（深圳，万户） Y
        total_sh:float 期末账户数（上海，万户） Y
        total_sz:float 期末账户数（深圳，万户） Y
        trade_sh:float 参与交易账户数（上海，万户） Y
        trade_sz:float 参与交易账户数（深圳，万户） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'new_sh' : 'int', 'new_sz' : 'int', 'active_sh' : 'float', 'active_sz' : 'float', 'total_sh' : 'float', 'total_sz' : 'float', 'trade_sh' : 'float', 'trade_sz' : 'float'}
        column_name_dict = {'date': '统计周期', 'new_sh': '本周新增上海，户', 'new_sz': '本周新增深圳，户', 'active_sh': '期末有效账户上海，万户', 'active_sz': '期末有效账户深圳，万户', 'total_sh': '期末账户数上海，万户', 'total_sz': '期末账户数深圳，万户', 'trade_sh': '参与交易账户数上海，万户', 'trade_sz': '参与交易账户数深圳，万户'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_account_old",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_holdernumber(self,ts_code: str = None, ann_date: str = None, enddate: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股东户数
        https://tushare.pro/document/2?doc_id=166
        <参数>
        ts_code:str TS股票代码 N
        ann_date:str 公告日期 N
        enddate:str 截止日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS股票代码 Y
        ann_date:str 公告日期 Y
        end_date:str 截止日期 Y
        holder_nums:int 股东户数 N
        holder_num:int 股东总户数（A+B） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'holder_nums' : 'int', 'holder_num' : 'int'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '截止日期', 'holder_nums': '股东户数', 'holder_num': '股东总户数A+B'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_holdernumber",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_holdertrade(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, trade_type: str = None, holder_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股东增减持
        https://tushare.pro/document/2?doc_id=175
        <参数>
        ts_code:str TS股票代码 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        trade_type:str 交易类型IN增持DE减持 N
        holder_type:str 股东类型G高管C公司P个人 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 公告日期 Y
        holder_name:str 股东名称 Y
        holder_type:str 股东类型G高管P个人C公司 Y
        in_de:str 类型IN增持DE减持 Y
        change_vol:float 变动数量 Y
        change_ratio:float 占流通比例（%） Y
        after_share:float 变动后持股 Y
        after_ratio:float 变动后占流通比例（%） Y
        avg_price:float 平均价格 Y
        total_share:float 持股总数 Y
        begin_date:str 增减持开始日期 N
        close_date:str 增减持结束日期 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'holder_name' : 'str', 'holder_type' : 'str', 'in_de' : 'str', 'change_vol' : 'float', 'change_ratio' : 'float', 'after_share' : 'float', 'after_ratio' : 'float', 'avg_price' : 'float', 'total_share' : 'float', 'begin_date' : 'str', 'close_date' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'holder_name': '股东名称', 'holder_type': '股东类型G高管P个人C公司', 'in_de': '类型IN增持DE减持', 'change_vol': '变动数量', 'change_ratio': '占流通比例百分比', 'after_share': '变动后持股', 'after_ratio': '变动后占流通比例百分比', 'avg_price': '平均价格', 'total_share': '持股总数', 'begin_date': '增减持开始日期', 'close_date': '增减持结束日期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_holdertrade",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def report_rc(self,ts_code: str = None, report_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        卖方盈利预测数据
        https://tushare.pro/document/2?doc_id=292
        <参数>
        ts_code:str 股票代码 N
        report_date:str 报告日期 N
        start_date:str 报告开始日期 N
        end_date:str 报告结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        report_date:str 研报日期 Y
        report_title:str 报告标题 Y
        report_type:str 报告类型 Y
        classify:str 报告分类 Y
        org_name:str 机构名称 Y
        author_name:str 作者 Y
        quarter:str 预测报告期 Y
        op_rt:float 预测营业收入（万元） Y
        op_pr:float 预测营业利润（万元） Y
        tp:float 预测利润总额（万元） Y
        np:float 预测净利润（万元） Y
        eps:float 预测每股收益（元） Y
        pe:float 预测市盈率（元） Y
        rd:float 预测股息率（元） Y
        roe:float 预测净资产收益率（元） Y
        ev_ebitda:float 预测EV/EBITDA Y
        rating:str 卖方评级 Y
        max_price:float 预测最高目标价 Y
        min_price:float 预测最低目标价 Y
        imp_dg:str 机构关注度 N
        create_time:datetime TS数据更新时间 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'report_date' : 'str', 'report_title' : 'str', 'report_type' : 'str', 'classify' : 'str', 'org_name' : 'str', 'author_name' : 'str', 'quarter' : 'str', 'op_rt' : 'float', 'op_pr' : 'float', 'tp' : 'float', 'np' : 'float', 'eps' : 'float', 'pe' : 'float', 'rd' : 'float', 'roe' : 'float', 'ev_ebitda' : 'float', 'rating' : 'str', 'max_price' : 'float', 'min_price' : 'float', 'imp_dg' : 'str', 'create_time' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票名称', 'report_date': '研报日期', 'report_title': '报告标题', 'report_type': '报告类型', 'classify': '报告分类', 'org_name': '机构名称', 'author_name': '作者', 'quarter': '预测报告期', 'op_rt': '预测营业收入万元', 'op_pr': '预测营业利润万元', 'tp': '预测利润总额万元', 'np': '预测净利润万元', 'eps': '预测每股收益元', 'pe': '预测市盈率元', 'rd': '预测股息率元', 'roe': '预测净资产收益率元', 'ev_ebitda': '预测EV/EBITDA', 'rating': '卖方评级', 'max_price': '预测最高目标价', 'min_price': '预测最低目标价', 'imp_dg': '机构关注度', 'create_time': 'TS数据更新时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="report_rc",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cyq_perf(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        每日筹码及胜率
        https://tushare.pro/document/2?doc_id=293
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（YYYYMMDD） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        his_low:float 历史最低价 Y
        his_high:float 历史最高价 Y
        cost_5pct:float 5分位成本 Y
        cost_15pct:float 15分位成本 Y
        cost_50pct:float 50分位成本 Y
        cost_85pct:float 85分位成本 Y
        cost_95pct:float 95分位成本 Y
        weight_avg:float 加权平均成本 Y
        winner_rate:float 胜率 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'his_low' : 'float', 'his_high' : 'float', 'cost_5pct' : 'float', 'cost_15pct' : 'float', 'cost_50pct' : 'float', 'cost_85pct' : 'float', 'cost_95pct' : 'float', 'weight_avg' : 'float', 'winner_rate' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'his_low': '历史最低价', 'his_high': '历史最高价', 'cost_5pct': '5分位成本', 'cost_15pct': '15分位成本', 'cost_50pct': '50分位成本', 'cost_85pct': '85分位成本', 'cost_95pct': '95分位成本', 'weight_avg': '加权平均成本', 'winner_rate': '胜率'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cyq_perf",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cyq_chips(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        每日筹码分布
        https://tushare.pro/document/2?doc_id=294
        <参数>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期（YYYYMMDD） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        price:float 成本价格 Y
        percent:float 价格占比（%） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'price' : 'float', 'percent' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'price': '成本价格', 'percent': '价格占比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cyq_chips",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_factor(self,ts_code: str = None, start_date: str = None, end_date: str = None, trade_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票技术因子
        https://tushare.pro/document/2?doc_id=296
        <参数>
        ts_code:str 股票代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        trade_date:str 交易日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        close:float 收盘价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_change:float 涨跌幅 Y
        vol:float 成交量 （手） Y
        amount:float 成交额 （千元） Y
        adj_factor:float 复权因子 Y
        open_hfq:float 开盘价后复权 Y
        open_qfq:float 开盘价前复权 Y
        close_hfq:float 收盘价后复权 Y
        close_qfq:float 收盘价前复权 Y
        high_hfq:float 最高价后复权 Y
        high_qfq:float 最高价前复权 Y
        low_hfq:float 最低价后复权 Y
        low_qfq:float 最低价前复权 Y
        pre_close_hfq:float 昨收价后复权 Y
        pre_close_qfq:float 昨收价前复权 Y
        macd_dif:float macd_diff Y
        macd_dea:float macd_dea Y
        macd:float macd Y
        kdj_k:float KDJ_K Y
        kdj_d:float KDJ_D Y
        kdj_j:float KDJ_J Y
        rsi_6:float RSI_6 Y
        rsi_12:float RSI_12 Y
        rsi_24:float RSI_24 Y
        boll_upper:float BOLL_UPPER Y
        boll_mid:float BOLL_MID Y
        boll_lower:float BOLL_LOWER Y
        cci:float CCI Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'adj_factor' : 'float', 'open_hfq' : 'float', 'open_qfq' : 'float', 'close_hfq' : 'float', 'close_qfq' : 'float', 'high_hfq' : 'float', 'high_qfq' : 'float', 'low_hfq' : 'float', 'low_qfq' : 'float', 'pre_close_hfq' : 'float', 'pre_close_qfq' : 'float', 'macd_dif' : 'float', 'macd_dea' : 'float', 'macd' : 'float', 'kdj_k' : 'float', 'kdj_d' : 'float', 'kdj_j' : 'float', 'rsi_6' : 'float', 'rsi_12' : 'float', 'rsi_24' : 'float', 'boll_upper' : 'float', 'boll_mid' : 'float', 'boll_lower' : 'float', 'cci' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '收盘价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_change': '涨跌幅', 'vol': '成交量手', 'amount': '成交额千元', 'adj_factor': '复权因子', 'open_hfq': '开盘价后复权', 'open_qfq': '开盘价前复权', 'close_hfq': '收盘价后复权', 'close_qfq': '收盘价前复权', 'high_hfq': '最高价后复权', 'high_qfq': '最高价前复权', 'low_hfq': '最低价后复权', 'low_qfq': '最低价前复权', 'pre_close_hfq': '昨收价后复权', 'pre_close_qfq': '昨收价前复权', 'macd_dif': 'macd_diff', 'macd_dea': 'macd_dea', 'macd': 'macd', 'kdj_k': 'KDJ_K', 'kdj_d': 'KDJ_D', 'kdj_j': 'KDJ_J', 'rsi_6': 'RSI_6', 'rsi_12': 'RSI_12', 'rsi_24': 'RSI_24', 'boll_upper': 'BOLL_UPPER', 'boll_mid': 'BOLL_MID', 'boll_lower': 'BOLL_LOWER', 'cci': 'CCI'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_factor",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_factor_pro(self,ts_code: str = None, start_date: str = None, end_date: str = None, trade_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票技术因子(专业版)
        https://tushare.pro/document/2?doc_id=328
        <参数>
        ts_code:str 股票代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        trade_date:str 交易日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        open:float 开盘价 Y
        open_hfq:float 开盘价 Y
        open_qfq:float 开盘价 Y
        high:float 最高价 Y
        high_hfq:float 最高价 Y
        high_qfq:float 最高价 Y
        low:float 最低价 Y
        low_hfq:float 最低价 Y
        low_qfq:float 最低价 Y
        close:float 收盘价 Y
        close_hfq:float 收盘价 Y
        close_qfq:float 收盘价 Y
        pre_close:float 昨收价(前复权) Y
        change:float 涨跌额 Y
        pct_chg:float 涨跌幅 （未复权，如果是复权请用 通用行情接口 ） Y
        vol:float 成交量 （手） Y
        amount:float 成交额 （千元） Y
        turnover_rate:float 换手率（%） Y
        turnover_rate_f:float 换手率（自由流通股） Y
        volume_ratio:float 量比 Y
        pe:float 市盈率（总市值/净利润， 亏损的PE为空） Y
        pe_ttm:float 市盈率（TTM，亏损的PE为空） Y
        pb:float 市净率（总市值/净资产） Y
        ps:float 市销率 Y
        ps_ttm:float 市销率（TTM） Y
        dv_ratio:float 股息率 （%） Y
        dv_ttm:float 股息率（TTM）（%） Y
        total_share:float 总股本 （万股） Y
        float_share:float 流通股本 （万股） Y
        free_share:float 自由流通股本 （万） Y
        total_mv:float 总市值 （万元） Y
        circ_mv:float 流通市值（万元） Y
        adj_factor:float 复权因子 Y
        asi_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asi_hfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asi_qfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asit_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asit_hfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asit_qfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        atr_bfq:float 真实波动N日平均值-CLOSE, HIGH, LOW, N=20 Y
        atr_hfq:float 真实波动N日平均值-CLOSE, HIGH, LOW, N=20 Y
        atr_qfq:float 真实波动N日平均值-CLOSE, HIGH, LOW, N=20 Y
        bbi_bfq:float BBI多空指标-CLOSE, M1=3, M2=6, M3=12, M4=20 Y
        bbi_hfq:float BBI多空指标-CLOSE, M1=3, M2=6, M3=12, M4=21 Y
        bbi_qfq:float BBI多空指标-CLOSE, M1=3, M2=6, M3=12, M4=22 Y
        bias1_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias1_hfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias1_qfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias2_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias2_hfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias2_qfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias3_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias3_hfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias3_qfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        boll_lower_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_lower_hfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_lower_qfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_mid_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_mid_hfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_mid_qfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_upper_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_upper_hfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_upper_qfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        brar_ar_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_ar_hfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_ar_qfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_br_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_br_hfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_br_qfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        cci_bfq:float 顺势指标又叫CCI指标-CLOSE, HIGH, LOW, N=14 Y
        cci_hfq:float 顺势指标又叫CCI指标-CLOSE, HIGH, LOW, N=14 Y
        cci_qfq:float 顺势指标又叫CCI指标-CLOSE, HIGH, LOW, N=14 Y
        cr_bfq:float CR价格动量指标-CLOSE, HIGH, LOW, N=20 Y
        cr_hfq:float CR价格动量指标-CLOSE, HIGH, LOW, N=20 Y
        cr_qfq:float CR价格动量指标-CLOSE, HIGH, LOW, N=20 Y
        dfma_dif_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_dif_hfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_dif_qfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_difma_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_difma_hfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_difma_qfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dmi_adx_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adx_hfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adx_qfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adxr_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adxr_hfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adxr_qfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_mdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_mdi_hfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_mdi_qfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_pdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_pdi_hfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_pdi_qfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        downdays:float 连跌天数 Y
        updays:float 连涨天数 Y
        dpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        dpo_hfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        dpo_qfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        madpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        madpo_hfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        madpo_qfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        ema_bfq_10:float 指数移动平均-N=10 Y
        ema_bfq_20:float 指数移动平均-N=20 Y
        ema_bfq_250:float 指数移动平均-N=250 Y
        ema_bfq_30:float 指数移动平均-N=30 Y
        ema_bfq_5:float 指数移动平均-N=5 Y
        ema_bfq_60:float 指数移动平均-N=60 Y
        ema_bfq_90:float 指数移动平均-N=90 Y
        ema_hfq_10:float 指数移动平均-N=10 Y
        ema_hfq_20:float 指数移动平均-N=20 Y
        ema_hfq_250:float 指数移动平均-N=250 Y
        ema_hfq_30:float 指数移动平均-N=30 Y
        ema_hfq_5:float 指数移动平均-N=5 Y
        ema_hfq_60:float 指数移动平均-N=60 Y
        ema_hfq_90:float 指数移动平均-N=90 Y
        ema_qfq_10:float 指数移动平均-N=10 Y
        ema_qfq_20:float 指数移动平均-N=20 Y
        ema_qfq_250:float 指数移动平均-N=250 Y
        ema_qfq_30:float 指数移动平均-N=30 Y
        ema_qfq_5:float 指数移动平均-N=5 Y
        ema_qfq_60:float 指数移动平均-N=60 Y
        ema_qfq_90:float 指数移动平均-N=90 Y
        emv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        emv_hfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        emv_qfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        maemv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        maemv_hfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        maemv_qfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        expma_12_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_12_hfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_12_qfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_50_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_50_hfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_50_qfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        kdj_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_hfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_qfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_d_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_d_hfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_d_qfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_k_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_k_hfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_k_qfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        ktn_down_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_down_hfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_down_qfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_mid_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_mid_hfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_mid_qfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_upper_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_upper_hfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_upper_qfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        lowdays:float LOWRANGE(LOW)表示当前最低价是近多少周期内最低价的最小值 Y
        topdays:float TOPRANGE(HIGH)表示当前最高价是近多少周期内最高价的最大值 Y
        ma_bfq_10:float 简单移动平均-N=10 Y
        ma_bfq_20:float 简单移动平均-N=20 Y
        ma_bfq_250:float 简单移动平均-N=250 Y
        ma_bfq_30:float 简单移动平均-N=30 Y
        ma_bfq_5:float 简单移动平均-N=5 Y
        ma_bfq_60:float 简单移动平均-N=60 Y
        ma_bfq_90:float 简单移动平均-N=90 Y
        ma_hfq_10:float 简单移动平均-N=10 Y
        ma_hfq_20:float 简单移动平均-N=20 Y
        ma_hfq_250:float 简单移动平均-N=250 Y
        ma_hfq_30:float 简单移动平均-N=30 Y
        ma_hfq_5:float 简单移动平均-N=5 Y
        ma_hfq_60:float 简单移动平均-N=60 Y
        ma_hfq_90:float 简单移动平均-N=90 Y
        ma_qfq_10:float 简单移动平均-N=10 Y
        ma_qfq_20:float 简单移动平均-N=20 Y
        ma_qfq_250:float 简单移动平均-N=250 Y
        ma_qfq_30:float 简单移动平均-N=30 Y
        ma_qfq_5:float 简单移动平均-N=5 Y
        ma_qfq_60:float 简单移动平均-N=60 Y
        ma_qfq_90:float 简单移动平均-N=90 Y
        macd_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_hfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_qfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dea_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dea_hfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dea_qfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dif_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dif_hfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dif_qfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        mass_hfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        mass_qfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        ma_mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        ma_mass_hfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        ma_mass_qfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        mfi_bfq:float MFI指标是成交量的RSI指标-CLOSE, HIGH, LOW, VOL, N=14 Y
        mfi_hfq:float MFI指标是成交量的RSI指标-CLOSE, HIGH, LOW, VOL, N=14 Y
        mfi_qfq:float MFI指标是成交量的RSI指标-CLOSE, HIGH, LOW, VOL, N=14 Y
        mtm_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtm_hfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtm_qfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtmma_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtmma_hfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtmma_qfq:float 动量指标-CLOSE, N=12, M=6 Y
        obv_bfq:float 能量潮指标-CLOSE, VOL Y
        obv_hfq:float 能量潮指标-CLOSE, VOL Y
        obv_qfq:float 能量潮指标-CLOSE, VOL Y
        psy_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psy_hfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psy_qfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psyma_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psyma_hfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psyma_qfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        roc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        roc_hfq:float 变动率指标-CLOSE, N=12, M=6 Y
        roc_qfq:float 变动率指标-CLOSE, N=12, M=6 Y
        maroc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        maroc_hfq:float 变动率指标-CLOSE, N=12, M=6 Y
        maroc_qfq:float 变动率指标-CLOSE, N=12, M=6 Y
        rsi_bfq_12:float RSI指标-CLOSE, N=12 Y
        rsi_bfq_24:float RSI指标-CLOSE, N=24 Y
        rsi_bfq_6:float RSI指标-CLOSE, N=6 Y
        rsi_hfq_12:float RSI指标-CLOSE, N=12 Y
        rsi_hfq_24:float RSI指标-CLOSE, N=24 Y
        rsi_hfq_6:float RSI指标-CLOSE, N=6 Y
        rsi_qfq_12:float RSI指标-CLOSE, N=12 Y
        rsi_qfq_24:float RSI指标-CLOSE, N=24 Y
        rsi_qfq_6:float RSI指标-CLOSE, N=6 Y
        taq_down_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_down_hfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_down_qfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_mid_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_mid_hfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_mid_qfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_up_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_up_hfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_up_qfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        trix_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trix_hfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trix_qfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trma_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trma_hfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trma_qfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        vr_bfq:float VR容量比率-CLOSE, VOL, M1=26 Y
        vr_hfq:float VR容量比率-CLOSE, VOL, M1=26 Y
        vr_qfq:float VR容量比率-CLOSE, VOL, M1=26 Y
        wr_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr_hfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr_qfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr1_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr1_hfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr1_qfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        xsii_td1_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td1_hfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td1_qfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td2_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td2_hfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td2_qfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td3_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td3_hfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td3_qfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td4_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td4_hfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td4_qfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'open_hfq' : 'float', 'open_qfq' : 'float', 'high' : 'float', 'high_hfq' : 'float', 'high_qfq' : 'float', 'low' : 'float', 'low_hfq' : 'float', 'low_qfq' : 'float', 'close' : 'float', 'close_hfq' : 'float', 'close_qfq' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float', 'turnover_rate' : 'float', 'turnover_rate_f' : 'float', 'volume_ratio' : 'float', 'pe' : 'float', 'pe_ttm' : 'float', 'pb' : 'float', 'ps' : 'float', 'ps_ttm' : 'float', 'dv_ratio' : 'float', 'dv_ttm' : 'float', 'total_share' : 'float', 'float_share' : 'float', 'free_share' : 'float', 'total_mv' : 'float', 'circ_mv' : 'float', 'adj_factor' : 'float', 'asi_bfq' : 'float', 'asi_hfq' : 'float', 'asi_qfq' : 'float', 'asit_bfq' : 'float', 'asit_hfq' : 'float', 'asit_qfq' : 'float', 'atr_bfq' : 'float', 'atr_hfq' : 'float', 'atr_qfq' : 'float', 'bbi_bfq' : 'float', 'bbi_hfq' : 'float', 'bbi_qfq' : 'float', 'bias1_bfq' : 'float', 'bias1_hfq' : 'float', 'bias1_qfq' : 'float', 'bias2_bfq' : 'float', 'bias2_hfq' : 'float', 'bias2_qfq' : 'float', 'bias3_bfq' : 'float', 'bias3_hfq' : 'float', 'bias3_qfq' : 'float', 'boll_lower_bfq' : 'float', 'boll_lower_hfq' : 'float', 'boll_lower_qfq' : 'float', 'boll_mid_bfq' : 'float', 'boll_mid_hfq' : 'float', 'boll_mid_qfq' : 'float', 'boll_upper_bfq' : 'float', 'boll_upper_hfq' : 'float', 'boll_upper_qfq' : 'float', 'brar_ar_bfq' : 'float', 'brar_ar_hfq' : 'float', 'brar_ar_qfq' : 'float', 'brar_br_bfq' : 'float', 'brar_br_hfq' : 'float', 'brar_br_qfq' : 'float', 'cci_bfq' : 'float', 'cci_hfq' : 'float', 'cci_qfq' : 'float', 'cr_bfq' : 'float', 'cr_hfq' : 'float', 'cr_qfq' : 'float', 'dfma_dif_bfq' : 'float', 'dfma_dif_hfq' : 'float', 'dfma_dif_qfq' : 'float', 'dfma_difma_bfq' : 'float', 'dfma_difma_hfq' : 'float', 'dfma_difma_qfq' : 'float', 'dmi_adx_bfq' : 'float', 'dmi_adx_hfq' : 'float', 'dmi_adx_qfq' : 'float', 'dmi_adxr_bfq' : 'float', 'dmi_adxr_hfq' : 'float', 'dmi_adxr_qfq' : 'float', 'dmi_mdi_bfq' : 'float', 'dmi_mdi_hfq' : 'float', 'dmi_mdi_qfq' : 'float', 'dmi_pdi_bfq' : 'float', 'dmi_pdi_hfq' : 'float', 'dmi_pdi_qfq' : 'float', 'downdays' : 'float', 'updays' : 'float', 'dpo_bfq' : 'float', 'dpo_hfq' : 'float', 'dpo_qfq' : 'float', 'madpo_bfq' : 'float', 'madpo_hfq' : 'float', 'madpo_qfq' : 'float', 'ema_bfq_10' : 'float', 'ema_bfq_20' : 'float', 'ema_bfq_250' : 'float', 'ema_bfq_30' : 'float', 'ema_bfq_5' : 'float', 'ema_bfq_60' : 'float', 'ema_bfq_90' : 'float', 'ema_hfq_10' : 'float', 'ema_hfq_20' : 'float', 'ema_hfq_250' : 'float', 'ema_hfq_30' : 'float', 'ema_hfq_5' : 'float', 'ema_hfq_60' : 'float', 'ema_hfq_90' : 'float', 'ema_qfq_10' : 'float', 'ema_qfq_20' : 'float', 'ema_qfq_250' : 'float', 'ema_qfq_30' : 'float', 'ema_qfq_5' : 'float', 'ema_qfq_60' : 'float', 'ema_qfq_90' : 'float', 'emv_bfq' : 'float', 'emv_hfq' : 'float', 'emv_qfq' : 'float', 'maemv_bfq' : 'float', 'maemv_hfq' : 'float', 'maemv_qfq' : 'float', 'expma_12_bfq' : 'float', 'expma_12_hfq' : 'float', 'expma_12_qfq' : 'float', 'expma_50_bfq' : 'float', 'expma_50_hfq' : 'float', 'expma_50_qfq' : 'float', 'kdj_bfq' : 'float', 'kdj_hfq' : 'float', 'kdj_qfq' : 'float', 'kdj_d_bfq' : 'float', 'kdj_d_hfq' : 'float', 'kdj_d_qfq' : 'float', 'kdj_k_bfq' : 'float', 'kdj_k_hfq' : 'float', 'kdj_k_qfq' : 'float', 'ktn_down_bfq' : 'float', 'ktn_down_hfq' : 'float', 'ktn_down_qfq' : 'float', 'ktn_mid_bfq' : 'float', 'ktn_mid_hfq' : 'float', 'ktn_mid_qfq' : 'float', 'ktn_upper_bfq' : 'float', 'ktn_upper_hfq' : 'float', 'ktn_upper_qfq' : 'float', 'lowdays' : 'float', 'topdays' : 'float', 'ma_bfq_10' : 'float', 'ma_bfq_20' : 'float', 'ma_bfq_250' : 'float', 'ma_bfq_30' : 'float', 'ma_bfq_5' : 'float', 'ma_bfq_60' : 'float', 'ma_bfq_90' : 'float', 'ma_hfq_10' : 'float', 'ma_hfq_20' : 'float', 'ma_hfq_250' : 'float', 'ma_hfq_30' : 'float', 'ma_hfq_5' : 'float', 'ma_hfq_60' : 'float', 'ma_hfq_90' : 'float', 'ma_qfq_10' : 'float', 'ma_qfq_20' : 'float', 'ma_qfq_250' : 'float', 'ma_qfq_30' : 'float', 'ma_qfq_5' : 'float', 'ma_qfq_60' : 'float', 'ma_qfq_90' : 'float', 'macd_bfq' : 'float', 'macd_hfq' : 'float', 'macd_qfq' : 'float', 'macd_dea_bfq' : 'float', 'macd_dea_hfq' : 'float', 'macd_dea_qfq' : 'float', 'macd_dif_bfq' : 'float', 'macd_dif_hfq' : 'float', 'macd_dif_qfq' : 'float', 'mass_bfq' : 'float', 'mass_hfq' : 'float', 'mass_qfq' : 'float', 'ma_mass_bfq' : 'float', 'ma_mass_hfq' : 'float', 'ma_mass_qfq' : 'float', 'mfi_bfq' : 'float', 'mfi_hfq' : 'float', 'mfi_qfq' : 'float', 'mtm_bfq' : 'float', 'mtm_hfq' : 'float', 'mtm_qfq' : 'float', 'mtmma_bfq' : 'float', 'mtmma_hfq' : 'float', 'mtmma_qfq' : 'float', 'obv_bfq' : 'float', 'obv_hfq' : 'float', 'obv_qfq' : 'float', 'psy_bfq' : 'float', 'psy_hfq' : 'float', 'psy_qfq' : 'float', 'psyma_bfq' : 'float', 'psyma_hfq' : 'float', 'psyma_qfq' : 'float', 'roc_bfq' : 'float', 'roc_hfq' : 'float', 'roc_qfq' : 'float', 'maroc_bfq' : 'float', 'maroc_hfq' : 'float', 'maroc_qfq' : 'float', 'rsi_bfq_12' : 'float', 'rsi_bfq_24' : 'float', 'rsi_bfq_6' : 'float', 'rsi_hfq_12' : 'float', 'rsi_hfq_24' : 'float', 'rsi_hfq_6' : 'float', 'rsi_qfq_12' : 'float', 'rsi_qfq_24' : 'float', 'rsi_qfq_6' : 'float', 'taq_down_bfq' : 'float', 'taq_down_hfq' : 'float', 'taq_down_qfq' : 'float', 'taq_mid_bfq' : 'float', 'taq_mid_hfq' : 'float', 'taq_mid_qfq' : 'float', 'taq_up_bfq' : 'float', 'taq_up_hfq' : 'float', 'taq_up_qfq' : 'float', 'trix_bfq' : 'float', 'trix_hfq' : 'float', 'trix_qfq' : 'float', 'trma_bfq' : 'float', 'trma_hfq' : 'float', 'trma_qfq' : 'float', 'vr_bfq' : 'float', 'vr_hfq' : 'float', 'vr_qfq' : 'float', 'wr_bfq' : 'float', 'wr_hfq' : 'float', 'wr_qfq' : 'float', 'wr1_bfq' : 'float', 'wr1_hfq' : 'float', 'wr1_qfq' : 'float', 'xsii_td1_bfq' : 'float', 'xsii_td1_hfq' : 'float', 'xsii_td1_qfq' : 'float', 'xsii_td2_bfq' : 'float', 'xsii_td2_hfq' : 'float', 'xsii_td2_qfq' : 'float', 'xsii_td3_bfq' : 'float', 'xsii_td3_hfq' : 'float', 'xsii_td3_qfq' : 'float', 'xsii_td4_bfq' : 'float', 'xsii_td4_hfq' : 'float', 'xsii_td4_qfq' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'open': '开盘价', 'open_hfq': '开盘价', 'open_qfq': '开盘价', 'high': '最高价', 'high_hfq': '最高价', 'high_qfq': '最高价', 'low': '最低价', 'low_hfq': '最低价', 'low_qfq': '最低价', 'close': '收盘价', 'close_hfq': '收盘价', 'close_qfq': '收盘价', 'pre_close': '昨收价前复权', 'change': '涨跌额', 'pct_chg': '涨跌幅未复权，如果是复权请用 通用行情接口 ', 'vol': '成交量手', 'amount': '成交额千元', 'turnover_rate': '换手率百分比', 'turnover_rate_f': '换手率自由流通股', 'volume_ratio': '量比', 'pe': '市盈率总市值/净利润，亏损的PE为空', 'pe_ttm': '市盈率TTM，亏损的PE为空', 'pb': '市净率总市值/净资产', 'ps': '市销率', 'ps_ttm': '市销率TTM', 'dv_ratio': '股息率百分比', 'dv_ttm': '股息率TTM百分比', 'total_share': '总股本万股', 'float_share': '流通股本万股', 'free_share': '自由流通股本万', 'total_mv': '总市值万元', 'circ_mv': '流通市值万元', 'adj_factor': '复权因子', 'asi_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asi_hfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asi_qfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asit_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asit_hfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asit_qfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'atr_bfq': '真实波动N日平均值-CLOSE,HIGH,LOW,N=20', 'atr_hfq': '真实波动N日平均值-CLOSE,HIGH,LOW,N=20', 'atr_qfq': '真实波动N日平均值-CLOSE,HIGH,LOW,N=20', 'bbi_bfq': 'BBI多空指标-CLOSE,M1=3,M2=6,M3=12,M4=20', 'bbi_hfq': 'BBI多空指标-CLOSE,M1=3,M2=6,M3=12,M4=21', 'bbi_qfq': 'BBI多空指标-CLOSE,M1=3,M2=6,M3=12,M4=22', 'bias1_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias1_hfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias1_qfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias2_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias2_hfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias2_qfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias3_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias3_hfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias3_qfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'boll_lower_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_lower_hfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_lower_qfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_mid_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_mid_hfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_mid_qfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_upper_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_upper_hfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_upper_qfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'brar_ar_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_ar_hfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_ar_qfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_br_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_br_hfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_br_qfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'cci_bfq': '顺势指标又叫CCI指标-CLOSE,HIGH,LOW,N=14', 'cci_hfq': '顺势指标又叫CCI指标-CLOSE,HIGH,LOW,N=14', 'cci_qfq': '顺势指标又叫CCI指标-CLOSE,HIGH,LOW,N=14', 'cr_bfq': 'CR价格动量指标-CLOSE,HIGH,LOW,N=20', 'cr_hfq': 'CR价格动量指标-CLOSE,HIGH,LOW,N=20', 'cr_qfq': 'CR价格动量指标-CLOSE,HIGH,LOW,N=20', 'dfma_dif_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_dif_hfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_dif_qfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_difma_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_difma_hfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_difma_qfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dmi_adx_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adx_hfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adx_qfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adxr_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adxr_hfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adxr_qfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_mdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_mdi_hfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_mdi_qfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_pdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_pdi_hfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_pdi_qfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'downdays': '连跌天数', 'updays': '连涨天数', 'dpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'dpo_hfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'dpo_qfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'madpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'madpo_hfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'madpo_qfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'ema_bfq_10': '指数移动平均-N=10', 'ema_bfq_20': '指数移动平均-N=20', 'ema_bfq_250': '指数移动平均-N=250', 'ema_bfq_30': '指数移动平均-N=30', 'ema_bfq_5': '指数移动平均-N=5', 'ema_bfq_60': '指数移动平均-N=60', 'ema_bfq_90': '指数移动平均-N=90', 'ema_hfq_10': '指数移动平均-N=10', 'ema_hfq_20': '指数移动平均-N=20', 'ema_hfq_250': '指数移动平均-N=250', 'ema_hfq_30': '指数移动平均-N=30', 'ema_hfq_5': '指数移动平均-N=5', 'ema_hfq_60': '指数移动平均-N=60', 'ema_hfq_90': '指数移动平均-N=90', 'ema_qfq_10': '指数移动平均-N=10', 'ema_qfq_20': '指数移动平均-N=20', 'ema_qfq_250': '指数移动平均-N=250', 'ema_qfq_30': '指数移动平均-N=30', 'ema_qfq_5': '指数移动平均-N=5', 'ema_qfq_60': '指数移动平均-N=60', 'ema_qfq_90': '指数移动平均-N=90', 'emv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'emv_hfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'emv_qfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'maemv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'maemv_hfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'maemv_qfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'expma_12_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_12_hfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_12_qfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_50_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_50_hfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_50_qfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'kdj_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_hfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_qfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_d_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_d_hfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_d_qfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_k_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_k_hfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_k_qfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'ktn_down_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_down_hfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_down_qfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_mid_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_mid_hfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_mid_qfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_upper_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_upper_hfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_upper_qfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'lowdays': 'LOWRANGELOW表示当前最低价是近多少周期内最低价的最小值', 'topdays': 'TOPRANGEHIGH表示当前最高价是近多少周期内最高价的最大值', 'ma_bfq_10': '简单移动平均-N=10', 'ma_bfq_20': '简单移动平均-N=20', 'ma_bfq_250': '简单移动平均-N=250', 'ma_bfq_30': '简单移动平均-N=30', 'ma_bfq_5': '简单移动平均-N=5', 'ma_bfq_60': '简单移动平均-N=60', 'ma_bfq_90': '简单移动平均-N=90', 'ma_hfq_10': '简单移动平均-N=10', 'ma_hfq_20': '简单移动平均-N=20', 'ma_hfq_250': '简单移动平均-N=250', 'ma_hfq_30': '简单移动平均-N=30', 'ma_hfq_5': '简单移动平均-N=5', 'ma_hfq_60': '简单移动平均-N=60', 'ma_hfq_90': '简单移动平均-N=90', 'ma_qfq_10': '简单移动平均-N=10', 'ma_qfq_20': '简单移动平均-N=20', 'ma_qfq_250': '简单移动平均-N=250', 'ma_qfq_30': '简单移动平均-N=30', 'ma_qfq_5': '简单移动平均-N=5', 'ma_qfq_60': '简单移动平均-N=60', 'ma_qfq_90': '简单移动平均-N=90', 'macd_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_hfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_qfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dea_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dea_hfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dea_qfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dif_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dif_hfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dif_qfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'mass_hfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'mass_qfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'ma_mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'ma_mass_hfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'ma_mass_qfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'mfi_bfq': 'MFI指标是成交量的RSI指标-CLOSE,HIGH,LOW,VOL,N=14', 'mfi_hfq': 'MFI指标是成交量的RSI指标-CLOSE,HIGH,LOW,VOL,N=14', 'mfi_qfq': 'MFI指标是成交量的RSI指标-CLOSE,HIGH,LOW,VOL,N=14', 'mtm_bfq': '动量指标-CLOSE,N=12,M=6', 'mtm_hfq': '动量指标-CLOSE,N=12,M=6', 'mtm_qfq': '动量指标-CLOSE,N=12,M=6', 'mtmma_bfq': '动量指标-CLOSE,N=12,M=6', 'mtmma_hfq': '动量指标-CLOSE,N=12,M=6', 'mtmma_qfq': '动量指标-CLOSE,N=12,M=6', 'obv_bfq': '能量潮指标-CLOSE,VOL', 'obv_hfq': '能量潮指标-CLOSE,VOL', 'obv_qfq': '能量潮指标-CLOSE,VOL', 'psy_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psy_hfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psy_qfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psyma_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psyma_hfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psyma_qfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'roc_bfq': '变动率指标-CLOSE,N=12,M=6', 'roc_hfq': '变动率指标-CLOSE,N=12,M=6', 'roc_qfq': '变动率指标-CLOSE,N=12,M=6', 'maroc_bfq': '变动率指标-CLOSE,N=12,M=6', 'maroc_hfq': '变动率指标-CLOSE,N=12,M=6', 'maroc_qfq': '变动率指标-CLOSE,N=12,M=6', 'rsi_bfq_12': 'RSI指标-CLOSE,N=12', 'rsi_bfq_24': 'RSI指标-CLOSE,N=24', 'rsi_bfq_6': 'RSI指标-CLOSE,N=6', 'rsi_hfq_12': 'RSI指标-CLOSE,N=12', 'rsi_hfq_24': 'RSI指标-CLOSE,N=24', 'rsi_hfq_6': 'RSI指标-CLOSE,N=6', 'rsi_qfq_12': 'RSI指标-CLOSE,N=12', 'rsi_qfq_24': 'RSI指标-CLOSE,N=24', 'rsi_qfq_6': 'RSI指标-CLOSE,N=6', 'taq_down_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_down_hfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_down_qfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_mid_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_mid_hfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_mid_qfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_up_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_up_hfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_up_qfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'trix_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trix_hfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trix_qfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trma_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trma_hfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trma_qfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'vr_bfq': 'VR容量比率-CLOSE,VOL,M1=26', 'vr_hfq': 'VR容量比率-CLOSE,VOL,M1=26', 'vr_qfq': 'VR容量比率-CLOSE,VOL,M1=26', 'wr_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr_hfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr_qfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr1_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr1_hfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr1_qfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'xsii_td1_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td1_hfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td1_qfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td2_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td2_hfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td2_qfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td3_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td3_hfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td3_qfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td4_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td4_hfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td4_qfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_factor_pro",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ccass_hold(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, type: str = None, hk_hold: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        中央结算系统持股汇总
        https://tushare.pro/document/2?doc_id=295
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        type:str 类型 N
        hk_hold:str 港交所代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代号 Y
        name:str 股票名称 Y
        shareholding:str 于中央结算系统的持股量(股) Y
        hold_nums:str 参与者数目（个） Y
        hold_ratio:str 占于上交所/深交所上市及交易的A股总数的百分比（%） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'shareholding' : 'str', 'hold_nums' : 'str', 'hold_ratio' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'shareholding': '于中央结算系统的持股量股', 'hold_nums': '参与者数目个', 'hold_ratio': '占于上交所/深交所上市及交易的A股总数的百分比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ccass_hold",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ccass_hold_detail(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, hk_code: str = None, offset: str = None, limit: str = None,fields:str='' )->Query:
        """
        中央结算系统持股明细
        https://tushare.pro/document/2?doc_id=274
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        hk_code:str 港交所股份代码 N
        offset:str 开始行数 N
        limit:str 每页最大行数 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代号 Y
        name:str 股票名称 Y
        col_participant_id:str 参与者编号 Y
        col_participant_name:str 机构名称 Y
        col_shareholding:str 持股量(股) Y
        col_shareholding_percent:str 占已发行股份/权证/单位百分比(%) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'col_participant_id' : 'str', 'col_participant_name' : 'str', 'col_shareholding' : 'str', 'col_shareholding_percent' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'col_participant_id': '参与者编号', 'col_participant_name': '机构名称', 'col_shareholding': '持股量股', 'col_shareholding_percent': '占已发行股份/权证/单位百分比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ccass_hold_detail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_hold(self,code: str = None, ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        沪深股通持股明细
        https://tushare.pro/document/2?doc_id=188
        <参数>
        code:str 交易所代码 N
        ts_code:str TS股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        exchange:str SH沪股通SZ深股通 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        code:str 原始代码 Y
        trade_date:str 交易日期 Y
        ts_code:str TS代码 Y
        name:str 股票名称 Y
        vol: 持股数量 Y
        ratio:float 持股占比 Y
        exchange:str 类型：SH沪股通SZ深港通 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'code' : 'str', 'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'vol' : 'str', 'ratio' : 'float', 'exchange' : 'str'}
        column_name_dict = {'code': '原始代码', 'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'vol': '持股数量', 'ratio': '持股占比', 'exchange': '类型：SH沪股通SZ深港通'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_hold",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_auction_o(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票开盘集合竞价数据
        https://tushare.pro/document/2?doc_id=353
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期(YYYYMMDD) N
        start_date:str 开始日期(YYYYMMDD) N
        end_date:str 结束日期(YYYYMMDD) N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        close:float 开盘集合竞价收盘价 Y
        open:float 开盘集合竞价开盘价 Y
        high:float 开盘集合竞价最高价 Y
        low:float 开盘集合竞价最低价 Y
        vol:float 开盘集合竞价成交量 Y
        amount:float 开盘集合竞价成交额 Y
        vwap:float 开盘集合竞价均价 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float', 'vwap' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '开盘集合竞价收盘价', 'open': '开盘集合竞价开盘价', 'high': '开盘集合竞价最高价', 'low': '开盘集合竞价最低价', 'vol': '开盘集合竞价成交量', 'amount': '开盘集合竞价成交额', 'vwap': '开盘集合竞价均价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_auction_o",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_auction_c(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票收盘集合竞价数据
        https://tushare.pro/document/2?doc_id=354
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期(YYYYMMDD) N
        start_date:str 开始日期(YYYYMMDD) N
        end_date:str 结束日期(YYYYMMDD) N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        close:float 收盘集合竞价收盘价 Y
        open:float 收盘集合竞价开盘价 Y
        high:float 收盘集合竞价最高价 Y
        low:float 收盘集合竞价最低价 Y
        vol:float 收盘集合竞价成交量 Y
        amount:float 收盘集合竞价成交额 Y
        vwap:float 收盘集合竞价均价 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float', 'vwap' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '收盘集合竞价收盘价', 'open': '收盘集合竞价开盘价', 'high': '收盘集合竞价最高价', 'low': '收盘集合竞价最低价', 'vol': '收盘集合竞价成交量', 'amount': '收盘集合竞价成交额', 'vwap': '收盘集合竞价均价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_auction_c",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_nineturn(self,ts_code: str = None, trade_date: str = None, freq: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        神奇9转指标
        https://tushare.pro/document/2?doc_id=364
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        freq:str 频率(日daily,分钟60min) N
        start_date:str 开始时间 N
        end_date:str 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:datetime 交易日期 Y
        freq:str 频率(日daily,分钟60min) Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        up_count:float 上九转计数 Y
        down_count:float 下九转计数 Y
        nine_up_turn:str 是否上九转)+9表示上九转 Y
        nine_down_turn:str 是否下九转-9表示下九转 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'freq' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'vol' : 'float', 'amount' : 'float', 'up_count' : 'float', 'down_count' : 'float', 'nine_up_turn' : 'str', 'nine_down_turn' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'freq': '频率日daily,分钟60min', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'vol': '成交量', 'amount': '成交额', 'up_count': '上九转计数', 'down_count': '下九转计数', 'nine_up_turn': '是否上九转+9表示上九转', 'nine_down_turn': '是否下九转-9表示下九转'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_nineturn",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_ah_comparison(self,hk_code: str = None, ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        AH股比价
        https://tushare.pro/document/2?doc_id=399
        <参数>
        hk_code:str 港股股票代码 N
        ts_code:str A股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        hk_code:str 港股股票代码 Y
        ts_code:str A股股票代码 Y
        trade_date:str 交易日期 Y
        hk_name:str 港股股票名称 Y
        hk_pct_chg:float 港股股票涨跌幅 Y
        hk_close:float 港股股票收盘价 Y
        name:str A股股票名称 Y
        close:float A股股票收盘价 Y
        pct_chg:float A股股票涨跌幅 Y
        ah_comparison:float 比价(A/H) Y
        ah_premium:float 溢价(A/H)% Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'hk_code' : 'str', 'ts_code' : 'str', 'trade_date' : 'str', 'hk_name' : 'str', 'hk_pct_chg' : 'float', 'hk_close' : 'float', 'name' : 'str', 'close' : 'float', 'pct_chg' : 'float', 'ah_comparison' : 'float', 'ah_premium' : 'float'}
        column_name_dict = {'hk_code': '港股股票代码', 'ts_code': 'ts_code', 'trade_date': '交易日期', 'hk_name': '港股股票名称', 'hk_pct_chg': '港股股票涨跌幅', 'hk_close': '港股股票收盘价', 'name': 'A股股票名称', 'close': 'A股股票收盘价', 'pct_chg': 'A股股票涨跌幅', 'ah_comparison': '比价A/H', 'ah_premium': '溢价A/H百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_ah_comparison",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_surv(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        机构调研表
        https://tushare.pro/document/2?doc_id=275
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 调研日期 N
        start_date:str 调研开始日期 N
        end_date:str 调研结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        surv_date:str 调研日期 Y
        fund_visitors:str 机构参与人员 Y
        rece_place:str 接待地点 Y
        rece_mode:str 接待方式 Y
        rece_org:str 接待的公司 Y
        org_type:str 接待公司类型 Y
        comp_rece:str 上市公司接待人员 Y
        content: 调研内容 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'surv_date' : 'str', 'fund_visitors' : 'str', 'rece_place' : 'str', 'rece_mode' : 'str', 'rece_org' : 'str', 'org_type' : 'str', 'comp_rece' : 'str', 'content' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票名称', 'surv_date': '调研日期', 'fund_visitors': '机构参与人员', 'rece_place': '接待地点', 'rece_mode': '接待方式', 'rece_org': '接待的公司', 'org_type': '接待公司类型', 'comp_rece': '上市公司接待人员', 'content': '调研内容'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_surv",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def broker_recommend(self,month: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        券商每月荐股
        https://tushare.pro/document/2?doc_id=267
        <参数>
        month:str 月度（YYYYMM） Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        month:str 月度 Y
        broker:str 券商 Y
        ts_code:str 股票代码 Y
        name:str 股票简称 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'month' : 'str', 'broker' : 'str', 'ts_code' : 'str', 'name' : 'str'}
        column_name_dict = {'month': '月度', 'broker': '券商', 'ts_code': 'ts_code', 'name': '股票简称'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="broker_recommend",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def margin(self,trade_date: str = None, exchange_id: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        融资融券交易汇总
        https://tushare.pro/document/2?doc_id=58
        <参数>
        trade_date:str 交易日期 N
        exchange_id:str 交易所代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        exchange_id:str 交易所代码（SSE上交所SZSE深交所） Y
        rzye:float 融资余额(元) Y
        rzmre:float 融资买入额(元) Y
        rzche:float 融资偿还额(元) Y
        rqye:float 融券余额(元) Y
        rqmcl:float 融券卖出量(股,份,手) Y
        rzrqye:float 融资融券余额(元) Y
        rqyl:float 融券余量 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'exchange_id' : 'str', 'rzye' : 'float', 'rzmre' : 'float', 'rzche' : 'float', 'rqye' : 'float', 'rqmcl' : 'float', 'rzrqye' : 'float', 'rqyl' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'exchange_id': '交易所代码SSE上交所SZSE深交所', 'rzye': '融资余额元', 'rzmre': '融资买入额元', 'rzche': '融资偿还额元', 'rqye': '融券余额元', 'rqmcl': '融券卖出量股,份,手', 'rzrqye': '融资融券余额元', 'rqyl': '融券余量'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="margin",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def margin_detail(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        融资融券交易明细
        https://tushare.pro/document/2?doc_id=59
        <参数>
        trade_date:str 交易日期 N
        ts_code:str TS代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str TS股票代码 Y
        name:str 股票名称 N
        rzye:float 融资余额(元) Y
        rqye:float 融券余额(元) Y
        rzmre:float 融资买入额(元) Y
        rqyl:float 融券余量（手） Y
        rzche:float 融资偿还额(元) Y
        rqchl:float 融券偿还量(手) Y
        rqmcl:float 融券卖出量(股,份,手) Y
        rzrqye:float 融资融券余额(元) Y
        update_time:datetime  N
        create_time:datetime  N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'rzye' : 'float', 'rqye' : 'float', 'rzmre' : 'float', 'rqyl' : 'float', 'rzche' : 'float', 'rqchl' : 'float', 'rqmcl' : 'float', 'rzrqye' : 'float', 'update_time' : 'str', 'create_time' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'rzye': '融资余额元', 'rqye': '融券余额元', 'rzmre': '融资买入额元', 'rqyl': '融券余量手', 'rzche': '融资偿还额元', 'rqchl': '融券偿还量手', 'rqmcl': '融券卖出量股,份,手', 'rzrqye': '融资融券余额元', 'update_time': '', 'create_time': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="margin_detail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def margin_secs(self,ts_code: str = None, trade_date: str = None, exchange: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        融资融券标的（新）
        https://tushare.pro/document/2?doc_id=326
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日 N
        exchange:str 交易所 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        exchange:str 交易所 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'exchange' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'exchange': '交易所'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="margin_secs",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def slb_sec(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        转融券交易汇总
        https://tushare.pro/document/2?doc_id=332
        <参数>
        trade_date:str 交易日期（YYYYMMDD格式，下同） N
        ts_code:str 股票代码 N
        start_date:str 开始日期 N
        end_date:str 开始日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期（YYYYMMDD） Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        ope_inv:float 期初余量(万股) Y
        lent_qnt:float 转融券融出数量(万股) Y
        cls_inv:float 期末余量(万股) Y
        end_bal:float 期末余额(万元) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'ope_inv' : 'float', 'lent_qnt' : 'float', 'cls_inv' : 'float', 'end_bal' : 'float'}
        column_name_dict = {'trade_date': '交易日期YYYYMMDD', 'ts_code': 'ts_code', 'name': '股票名称', 'ope_inv': '期初余量万股', 'lent_qnt': '转融券融出数量万股', 'cls_inv': '期末余量万股', 'end_bal': '期末余额万元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="slb_sec",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def slb_len(self,trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        转融资交易汇总
        https://tushare.pro/document/2?doc_id=331
        <参数>
        trade_date:str 交易日期（YYYYMMDD格式，下同） N
        start_date:str 开始日期 N
        end_date:str 开始日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期（YYYYMMDD） Y
        ob:float 期初余额(亿元) Y
        auc_amount:float 竞价成交金额(亿元) Y
        repo_amount:float 再借成交金额(亿元) Y
        repay_amount:float 偿还金额(亿元) Y
        cb:float 期末余额(亿元) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ob' : 'float', 'auc_amount' : 'float', 'repo_amount' : 'float', 'repay_amount' : 'float', 'cb' : 'float'}
        column_name_dict = {'trade_date': '交易日期YYYYMMDD', 'ob': '期初余额亿元', 'auc_amount': '竞价成交金额亿元', 'repo_amount': '再借成交金额亿元', 'repay_amount': '偿还金额亿元', 'cb': '期末余额亿元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="slb_len",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def slb_sec_detail(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        转融券交易明细
        https://tushare.pro/document/2?doc_id=333
        <参数>
        trade_date:str 交易日期（YYYYMMDD格式，下同） N
        ts_code:str 股票代码 N
        start_date:str 开始日期 N
        end_date:str 开始日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期（YYYYMMDD） Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        tenor:str 期 限(天) Y
        fee_rate:float 融出费率(%) Y
        lent_qnt:float 转融券融出数量(万股) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'tenor' : 'str', 'fee_rate' : 'float', 'lent_qnt' : 'float'}
        column_name_dict = {'trade_date': '交易日期YYYYMMDD', 'ts_code': 'ts_code', 'name': '股票名称', 'tenor': '期限天', 'fee_rate': '融出费率百分比', 'lent_qnt': '转融券融出数量万股'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="slb_sec_detail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def slb_len_mm(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        做市借券交易汇总
        https://tushare.pro/document/2?doc_id=334
        <参数>
        trade_date:str 交易日期（YYYYMMDD格式，下同） N
        ts_code:str 股票代码 N
        start_date:str 开始日期 N
        end_date:str 开始日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期（YYYYMMDD） Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        ope_inv:float 期初余量(万股) Y
        lent_qnt:float 融出数量(万股) Y
        cls_inv:float 期末余量(万股) Y
        end_bal:float 期末余额(万元) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'ope_inv' : 'float', 'lent_qnt' : 'float', 'cls_inv' : 'float', 'end_bal' : 'float'}
        column_name_dict = {'trade_date': '交易日期YYYYMMDD', 'ts_code': 'ts_code', 'name': '股票名称', 'ope_inv': '期初余量万股', 'lent_qnt': '融出数量万股', 'cls_inv': '期末余量万股', 'end_bal': '期末余额万元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="slb_len_mm",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        个股资金流向
        https://tushare.pro/document/2?doc_id=170
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（格式：YYYYMMDD，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 交易日期 Y
        buy_sm_vol:int 小单买入量（手） Y
        buy_sm_amount:float 小单买入金额（万元） Y
        sell_sm_vol:int 小单卖出量（手） Y
        sell_sm_amount:float 小单卖出金额（万元） Y
        buy_md_vol:int 中单买入量（手） Y
        buy_md_amount:float 中单买入金额（万元） Y
        sell_md_vol:int 中单卖出量（手） Y
        sell_md_amount:float 中单卖出金额（万元） Y
        buy_lg_vol:int 大单买入量（手） Y
        buy_lg_amount:float 大单买入金额（万元） Y
        sell_lg_vol:int 大单卖出量（手） Y
        sell_lg_amount:float 大单卖出金额（万元） Y
        buy_elg_vol:int 特大单买入量（手） Y
        buy_elg_amount:float 特大单买入金额（万元） Y
        sell_elg_vol:int 特大单卖出量（手） Y
        sell_elg_amount:float 特大单卖出金额（万元） Y
        net_mf_vol:int 净流入量（手） Y
        net_mf_amount:float 净流入额（万元） Y
        trade_count:int 交易笔数 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'buy_sm_vol' : 'int', 'buy_sm_amount' : 'float', 'sell_sm_vol' : 'int', 'sell_sm_amount' : 'float', 'buy_md_vol' : 'int', 'buy_md_amount' : 'float', 'sell_md_vol' : 'int', 'sell_md_amount' : 'float', 'buy_lg_vol' : 'int', 'buy_lg_amount' : 'float', 'sell_lg_vol' : 'int', 'sell_lg_amount' : 'float', 'buy_elg_vol' : 'int', 'buy_elg_amount' : 'float', 'sell_elg_vol' : 'int', 'sell_elg_amount' : 'float', 'net_mf_vol' : 'int', 'net_mf_amount' : 'float', 'trade_count' : 'int'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'buy_sm_vol': '小单买入量手', 'buy_sm_amount': '小单买入金额万元', 'sell_sm_vol': '小单卖出量手', 'sell_sm_amount': '小单卖出金额万元', 'buy_md_vol': '中单买入量手', 'buy_md_amount': '中单买入金额万元', 'sell_md_vol': '中单卖出量手', 'sell_md_amount': '中单卖出金额万元', 'buy_lg_vol': '大单买入量手', 'buy_lg_amount': '大单买入金额万元', 'sell_lg_vol': '大单卖出量手', 'sell_lg_amount': '大单卖出金额万元', 'buy_elg_vol': '特大单买入量手', 'buy_elg_amount': '特大单买入金额万元', 'sell_elg_vol': '特大单卖出量手', 'sell_elg_amount': '特大单卖出金额万元', 'net_mf_vol': '净流入量手', 'net_mf_amount': '净流入额万元', 'trade_count': '交易笔数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow_ths(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        个股资金流向（THS）
        https://tushare.pro/document/2?doc_id=348
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        pct_change:float 涨跌幅 Y
        latest:float 最新价 Y
        net_amount:float 资金净流入(万元) Y
        net_d5_amount:float 5日主力净额(万元) Y
        buy_lg_amount:float 今日大单净流入额(万元) Y
        buy_lg_amount_rate:float 今日大单净流入占比(%) Y
        buy_md_amount:float 今日中单净流入额(万元) Y
        buy_md_amount_rate:float 今日中单净流入占比(%) Y
        buy_sm_amount:float 今日小单净流入额(万元) Y
        buy_sm_amount_rate:float 今日小单净流入占比(%) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'pct_change' : 'float', 'latest' : 'float', 'net_amount' : 'float', 'net_d5_amount' : 'float', 'buy_lg_amount' : 'float', 'buy_lg_amount_rate' : 'float', 'buy_md_amount' : 'float', 'buy_md_amount_rate' : 'float', 'buy_sm_amount' : 'float', 'buy_sm_amount_rate' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'pct_change': '涨跌幅', 'latest': '最新价', 'net_amount': '资金净流入万元', 'net_d5_amount': '5日主力净额万元', 'buy_lg_amount': '今日大单净流入额万元', 'buy_lg_amount_rate': '今日大单净流入占比百分比', 'buy_md_amount': '今日中单净流入额万元', 'buy_md_amount_rate': '今日中单净流入占比百分比', 'buy_sm_amount': '今日小单净流入额万元', 'buy_sm_amount_rate': '今日小单净流入占比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow_ths",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow_dc(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        个股资金流向（DC）
        https://tushare.pro/document/2?doc_id=349
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        pct_change:float 涨跌幅 Y
        close:float 最新价 Y
        net_amount:float 今日主力净流入额（万元） Y
        net_amount_rate:float 今日主力净流入净占比（%） Y
        buy_elg_amount:float 今日超大单净流入额（万元） Y
        buy_elg_amount_rate:float 今日超大单净流入占比（%） Y
        buy_lg_amount:float 今日大单净流入额（万元） Y
        buy_lg_amount_rate:float 今日大单净流入占比（%） Y
        buy_md_amount:float 今日中单净流入额（万元） Y
        buy_md_amount_rate:float 今日中单净流入占比（%） Y
        buy_sm_amount:float 今日小单净流入额（万元） Y
        buy_sm_amount_rate:float 今日小单净流入占比（%） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'pct_change' : 'float', 'close' : 'float', 'net_amount' : 'float', 'net_amount_rate' : 'float', 'buy_elg_amount' : 'float', 'buy_elg_amount_rate' : 'float', 'buy_lg_amount' : 'float', 'buy_lg_amount_rate' : 'float', 'buy_md_amount' : 'float', 'buy_md_amount_rate' : 'float', 'buy_sm_amount' : 'float', 'buy_sm_amount_rate' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'pct_change': '涨跌幅', 'close': '最新价', 'net_amount': '今日主力净流入额万元', 'net_amount_rate': '今日主力净流入净占比百分比', 'buy_elg_amount': '今日超大单净流入额万元', 'buy_elg_amount_rate': '今日超大单净流入占比百分比', 'buy_lg_amount': '今日大单净流入额万元', 'buy_lg_amount_rate': '今日大单净流入占比百分比', 'buy_md_amount': '今日中单净流入额万元', 'buy_md_amount_rate': '今日中单净流入占比百分比', 'buy_sm_amount': '今日小单净流入额万元', 'buy_sm_amount_rate': '今日小单净流入占比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow_dc",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow_cnt_ths(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        板块资金流向（THS）
        https://tushare.pro/document/2?doc_id=371
        <参数>
        ts_code:str 代码 N
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 板块代码 Y
        name:str 板块名称 Y
        lead_stock:str 领涨股票名称 Y
        close_price:float 最新价 Y
        pct_change:float 行业涨跌幅 Y
        industry_index:float 行业指数 Y
        company_num:int 公司数量 Y
        pct_change_stock:float 领涨股涨跌幅 Y
        net_buy_amount:float 流入资金(元) Y
        net_sell_amount:float 流出资金(元)	 Y
        net_amount:float 净额(元) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'lead_stock' : 'str', 'close_price' : 'float', 'pct_change' : 'float', 'industry_index' : 'float', 'company_num' : 'int', 'pct_change_stock' : 'float', 'net_buy_amount' : 'float', 'net_sell_amount' : 'float', 'net_amount' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '板块名称', 'lead_stock': '领涨股票名称', 'close_price': '最新价', 'pct_change': '行业涨跌幅', 'industry_index': '行业指数', 'company_num': '公司数量', 'pct_change_stock': '领涨股涨跌幅', 'net_buy_amount': '流入资金元', 'net_sell_amount': '流出资金元	', 'net_amount': '净额元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow_cnt_ths",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow_ind_ths(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        行业资金流向（THS）
        https://tushare.pro/document/2?doc_id=343
        <参数>
        ts_code:str 代码 N
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 板块代码 Y
        industry:str 板块名称 Y
        lead_stock:str 领涨股票名称 Y
        close:float 收盘指数 Y
        pct_change:float 指数涨跌幅 Y
        company_num:int 公司数量 Y
        pct_change_stock:float 领涨股涨跌幅 Y
        close_price:float 领涨股最新价 Y
        net_buy_amount:float 流入资金(元) Y
        net_sell_amount:float 流出资金(元) Y
        net_amount:float 净额(元) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'industry' : 'str', 'lead_stock' : 'str', 'close' : 'float', 'pct_change' : 'float', 'company_num' : 'int', 'pct_change_stock' : 'float', 'close_price' : 'float', 'net_buy_amount' : 'float', 'net_sell_amount' : 'float', 'net_amount' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'industry': '板块名称', 'lead_stock': '领涨股票名称', 'close': '收盘指数', 'pct_change': '指数涨跌幅', 'company_num': '公司数量', 'pct_change_stock': '领涨股涨跌幅', 'close_price': '领涨股最新价', 'net_buy_amount': '流入资金元', 'net_sell_amount': '流出资金元', 'net_amount': '净额元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow_ind_ths",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow_ind_dc(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, content_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        板块资金流向（DC）
        https://tushare.pro/document/2?doc_id=344
        <参数>
        ts_code:str 代码 N
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        content_type:str 资金类型(行业、概念、地域) N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        content_type:str 数据类型 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        pct_change:float 涨跌幅（%） Y
        close:float 最新价（元） Y
        net_amount:float 今日主力净流入 净额（元） Y
        net_amount_rate:float 今日主力净流入净占比% Y
        buy_elg_amount:float 今日超大单净流入 净额（元） Y
        buy_elg_amount_rate:float 今日超大单净流入 净占比% Y
        buy_lg_amount:float 今日大单净流入 净额（元） Y
        buy_lg_amount_rate:float 今日大单净流入 净占比% Y
        buy_md_amount:float 今日中单净流入 净额（元） Y
        buy_md_amount_rate:float 今日中单净流入 净占比% Y
        buy_sm_amount:float 今日小单净流入 净额（元） Y
        buy_sm_amount_rate:float 今日小单净流入 净占比% Y
        buy_sm_amount_stock:str 今日主力净流入最大股 Y
        rank:int 序号 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'content_type' : 'str', 'ts_code' : 'str', 'name' : 'str', 'pct_change' : 'float', 'close' : 'float', 'net_amount' : 'float', 'net_amount_rate' : 'float', 'buy_elg_amount' : 'float', 'buy_elg_amount_rate' : 'float', 'buy_lg_amount' : 'float', 'buy_lg_amount_rate' : 'float', 'buy_md_amount' : 'float', 'buy_md_amount_rate' : 'float', 'buy_sm_amount' : 'float', 'buy_sm_amount_rate' : 'float', 'buy_sm_amount_stock' : 'str', 'rank' : 'int'}
        column_name_dict = {'trade_date': '交易日期', 'content_type': '数据类型', 'ts_code': 'ts_code', 'name': '股票名称', 'pct_change': '涨跌幅百分比', 'close': '最新价元', 'net_amount': '今日主力净流入净额元', 'net_amount_rate': '今日主力净流入净占比百分比', 'buy_elg_amount': '今日超大单净流入净额元', 'buy_elg_amount_rate': '今日超大单净流入净占比百分比', 'buy_lg_amount': '今日大单净流入净额元', 'buy_lg_amount_rate': '今日大单净流入净占比百分比', 'buy_md_amount': '今日中单净流入净额元', 'buy_md_amount_rate': '今日中单净流入净占比百分比', 'buy_sm_amount': '今日小单净流入净额元', 'buy_sm_amount_rate': '今日小单净流入净占比百分比', 'buy_sm_amount_stock': '今日主力净流入最大股', 'rank': '序号'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow_ind_dc",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow_mkt_dc(self,trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        大盘资金流向（DC）
        https://tushare.pro/document/2?doc_id=345
        <参数>
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        close_sh:float 上证收盘价（元） Y
        pct_change_sh:float 上证涨跌幅(%) Y
        close_sz:float 深证收盘价（元） Y
        pct_change_sz:float 深证涨跌幅(%) Y
        net_amount:float 今日主力净流入 净额（元） Y
        net_amount_rate:float 今日主力净流入净占比% Y
        buy_elg_amount:float 今日超大单净流入 净额（元） Y
        buy_elg_amount_rate:float 今日超大单净流入 净占比% Y
        buy_lg_amount:float 今日大单净流入 净额（元） Y
        buy_lg_amount_rate:float 今日大单净流入 净占比% Y
        buy_md_amount:float 今日中单净流入 净额（元） Y
        buy_md_amount_rate:float 今日中单净流入 净占比% Y
        buy_sm_amount:float 今日小单净流入 净额（元） Y
        buy_sm_amount_rate:float 今日小单净流入 净占比% Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'close_sh' : 'float', 'pct_change_sh' : 'float', 'close_sz' : 'float', 'pct_change_sz' : 'float', 'net_amount' : 'float', 'net_amount_rate' : 'float', 'buy_elg_amount' : 'float', 'buy_elg_amount_rate' : 'float', 'buy_lg_amount' : 'float', 'buy_lg_amount_rate' : 'float', 'buy_md_amount' : 'float', 'buy_md_amount_rate' : 'float', 'buy_sm_amount' : 'float', 'buy_sm_amount_rate' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'close_sh': '上证收盘价元', 'pct_change_sh': '上证涨跌幅百分比', 'close_sz': '深证收盘价元', 'pct_change_sz': '深证涨跌幅百分比', 'net_amount': '今日主力净流入净额元', 'net_amount_rate': '今日主力净流入净占比百分比', 'buy_elg_amount': '今日超大单净流入净额元', 'buy_elg_amount_rate': '今日超大单净流入净占比百分比', 'buy_lg_amount': '今日大单净流入净额元', 'buy_lg_amount_rate': '今日大单净流入净占比百分比', 'buy_md_amount': '今日中单净流入净额元', 'buy_md_amount_rate': '今日中单净流入净占比百分比', 'buy_sm_amount': '今日小单净流入净额元', 'buy_sm_amount_rate': '今日小单净流入净占比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow_mkt_dc",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def moneyflow_hsgt(self,trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        沪深港通资金流向
        https://tushare.pro/document/2?doc_id=47
        <参数>
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ggt_ss:str 港股通（上海） Y
        ggt_sz:str 港股通（深圳） Y
        hgt:str 沪股通 Y
        sgt:str 深股通 Y
        north_money:str 北向资金 Y
        south_money:str 南向资金 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ggt_ss' : 'str', 'ggt_sz' : 'str', 'hgt' : 'str', 'sgt' : 'str', 'north_money' : 'str', 'south_money' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ggt_ss': '港股通上海', 'ggt_sz': '港股通深圳', 'hgt': '沪股通', 'sgt': '深股通', 'north_money': '北向资金', 'south_money': '南向资金'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="moneyflow_hsgt",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def kpl_concept(self,trade_date: str = None, ts_code: str = None, name: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        开盘啦题材库
        https://tushare.pro/document/2?doc_id=350
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 题材代码(xxxxxx.KP格式) N
        name:str 题材名称 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 题材代码 Y
        name:str 题材名称 Y
        z_t_num: 涨停数量 Y
        up_num:str 排名上升位数 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'z_t_num' : 'str', 'up_num' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '题材名称', 'z_t_num': '涨停数量', 'up_num': '排名上升位数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="kpl_concept",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def kpl_concept_cons(self,ts_code: str = None, trade_date: str = None, con_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        开盘啦题材成分
        https://tushare.pro/document/2?doc_id=351
        <参数>
        ts_code:str 题材代码 N
        trade_date:str 交易日期 N
        con_code:str 成分代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 题材ID Y
        name:str 题材名称 Y
        con_name:str 股票名称 Y
        con_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        desc:str 描述 Y
        hot_num: 人气值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'con_name' : 'str', 'con_code' : 'str', 'trade_date' : 'str', 'desc' : 'str', 'hot_num' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '题材名称', 'con_name': '股票名称', 'con_code': '股票代码', 'trade_date': '交易日期', 'desc': '描述', 'hot_num': '人气值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="kpl_concept_cons",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def kpl_list(self,ts_code: str = None, trade_date: str = None, tag: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        开盘啦板单数据
        https://tushare.pro/document/2?doc_id=347
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        tag:str 板单类型（涨停|炸板|跌停，默认涨停) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 代码 Y
        name:str 名称 Y
        trade_date:str 交易时间 Y
        lu_time:str 涨停时间 Y
        ld_time:str 跌停时间 Y
        open_time:str 开板时间 Y
        last_time:str 最后涨停时间 Y
        lu_desc:str 涨停原因 Y
        tag:str 标签|类别 Y
        theme:str 板块 Y
        net_change:float 主力净额(元) Y
        bid_amount:float 竞价成交额(元) Y
        status:str 状态 Y
        bid_change:float 竞价成交额(元|个) Y
        bid_turnover:float 竞价换手)% Y
        lu_bid_vol:float 涨停委买额(元|个) Y
        pct_chg:float 涨跌幅% Y
        bid_pct_chg:float 竞价涨幅% Y
        rt_pct_chg:float 实时涨幅% Y
        limit_order:float 封单(元|个) Y
        amount:float 成交额(元|个) Y
        turnover_rate:float 换手率% Y
        free_float:float 实际流通(元|个) Y
        lu_limit_order:float 最大封单(元|个) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'trade_date' : 'str', 'lu_time' : 'str', 'ld_time' : 'str', 'open_time' : 'str', 'last_time' : 'str', 'lu_desc' : 'str', 'tag' : 'str', 'theme' : 'str', 'net_change' : 'float', 'bid_amount' : 'float', 'status' : 'str', 'bid_change' : 'float', 'bid_turnover' : 'float', 'lu_bid_vol' : 'float', 'pct_chg' : 'float', 'bid_pct_chg' : 'float', 'rt_pct_chg' : 'float', 'limit_order' : 'float', 'amount' : 'float', 'turnover_rate' : 'float', 'free_float' : 'float', 'lu_limit_order' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '名称', 'trade_date': '交易时间', 'lu_time': '涨停时间', 'ld_time': '跌停时间', 'open_time': '开板时间', 'last_time': '最后涨停时间', 'lu_desc': '涨停原因', 'tag': '标签|类别', 'theme': '板块', 'net_change': '主力净额元', 'bid_amount': '竞价成交额元', 'status': '状态', 'bid_change': '竞价成交额元|个', 'bid_turnover': '竞价换手百分比', 'lu_bid_vol': '涨停委买额元|个', 'pct_chg': '涨跌幅百分比', 'bid_pct_chg': '竞价涨幅百分比', 'rt_pct_chg': '实时涨幅百分比', 'limit_order': '封单元|个', 'amount': '成交额元|个', 'turnover_rate': '换手率百分比', 'free_float': '实际流通元|个', 'lu_limit_order': '最大封单元|个'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="kpl_list",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def top_list(self,trade_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        龙虎榜每日明细
        https://tushare.pro/document/2?doc_id=106
        <参数>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str TS代码 Y
        name:str 名称 Y
        close:float 收盘价 Y
        pct_change:float 涨跌幅 Y
        turnover_rate:float 换手率 Y
        amount:float 总成交额 Y
        l_sell:float 龙虎榜卖出额 Y
        l_buy:float 龙虎榜买入额 Y
        l_amount:float 龙虎榜成交额 Y
        net_amount:float 龙虎榜净买入额 Y
        net_rate:float 龙虎榜净买额占比 Y
        amount_rate:float 龙虎榜成交额占比 Y
        float_values:float 当日流通市值 Y
        reason:str 上榜理由 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'close' : 'float', 'pct_change' : 'float', 'turnover_rate' : 'float', 'amount' : 'float', 'l_sell' : 'float', 'l_buy' : 'float', 'l_amount' : 'float', 'net_amount' : 'float', 'net_rate' : 'float', 'amount_rate' : 'float', 'float_values' : 'float', 'reason' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '名称', 'close': '收盘价', 'pct_change': '涨跌幅', 'turnover_rate': '换手率', 'amount': '总成交额', 'l_sell': '龙虎榜卖出额', 'l_buy': '龙虎榜买入额', 'l_amount': '龙虎榜成交额', 'net_amount': '龙虎榜净买入额', 'net_rate': '龙虎榜净买额占比', 'amount_rate': '龙虎榜成交额占比', 'float_values': '当日流通市值', 'reason': '上榜理由'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="top_list",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def limit_list_ths(self,trade_date: str = None, ts_code: str = None, limit_type: str = None, market: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        涨跌停榜单（同花顺）
        https://tushare.pro/document/2?doc_id=355
        <参数>
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        ts_code:str 股票代码 N
        limit_type:str 涨停池、连扳池、冲刺涨停、炸板池、跌停池，默认：涨停池 N
        market:str HS-沪深主板 GEM-创业板 STAR-科创板 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        price:float 最近价格(元) Y
        pct_chg:float 涨跌幅% Y
        open_num: 打开次数 Y
        lu_desc:str 涨停原因 Y
        limit_type:str 板单类别 Y
        tag:str 涨停标签 Y
        status:str 涨停状态（N连板、一字板） Y
        first_lu_time:str 首次涨停时间 N
        last_lu_time:str 最后涨停时间 N
        first_ld_time:str 首次跌停时间 N
        last_ld_time:str 最后涨停时间 N
        limit_order:float 封单量(元|个) Y
        limit_amount:float 封单额(元|个) Y
        turnover_rate:float 换手率% Y
        free_float:float 实际流通(元|个) Y
        lu_limit_order:float 最大封单(元|个) Y
        limit_up_suc_rate:float 近一年涨停封板率 Y
        turnover:float 成交额 Y
        rise_rate:float 涨速 N
        sum_float:float  总市值 亿元 N
        market_type:str 股票类型：HS沪深主板、GEM创业板、STAR科创板 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'price' : 'float', 'pct_chg' : 'float', 'open_num' : 'str', 'lu_desc' : 'str', 'limit_type' : 'str', 'tag' : 'str', 'status' : 'str', 'first_lu_time' : 'str', 'last_lu_time' : 'str', 'first_ld_time' : 'str', 'last_ld_time' : 'str', 'limit_order' : 'float', 'limit_amount' : 'float', 'turnover_rate' : 'float', 'free_float' : 'float', 'lu_limit_order' : 'float', 'limit_up_suc_rate' : 'float', 'turnover' : 'float', 'rise_rate' : 'float', 'sum_float' : 'float', 'market_type' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '股票名称', 'price': '最近价格元', 'pct_chg': '涨跌幅百分比', 'open_num': '打开次数', 'lu_desc': '涨停原因', 'limit_type': '板单类别', 'tag': '涨停标签', 'status': '涨停状态N连板、一字板', 'first_lu_time': '首次涨停时间', 'last_lu_time': '最后涨停时间', 'first_ld_time': '首次跌停时间', 'last_ld_time': '最后涨停时间', 'limit_order': '封单量元|个', 'limit_amount': '封单额元|个', 'turnover_rate': '换手率百分比', 'free_float': '实际流通元|个', 'lu_limit_order': '最大封单元|个', 'limit_up_suc_rate': '近一年涨停封板率', 'turnover': '成交额', 'rise_rate': '涨速', 'sum_float': '总市值亿元', 'market_type': '股票类型：HS沪深主板、GEM创业板、STAR科创板'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="limit_list_ths",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def top_inst(self,trade_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        龙虎榜机构明细
        https://tushare.pro/document/2?doc_id=107
        <参数>
        trade_date:str 交易日期（格式：YYYYMMDD） Y
        ts_code:str TS代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str TS代码 Y
        exalter:str 营业部名称 Y
        buy:float 买入额（万） Y
        buy_rate:float 买入占总成交比例 Y
        sell:float 卖出额（万） Y
        sell_rate:float 卖出占总成交比例 Y
        net_buy:float 净成交额（万） Y
        side:str 买卖类型0买入1卖出 Y
        reason:str 上榜理由 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'exalter' : 'str', 'buy' : 'float', 'buy_rate' : 'float', 'sell' : 'float', 'sell_rate' : 'float', 'net_buy' : 'float', 'side' : 'str', 'reason' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'exalter': '营业部名称', 'buy': '买入额万', 'buy_rate': '买入占总成交比例', 'sell': '卖出额万', 'sell_rate': '卖出占总成交比例', 'net_buy': '净成交额万', 'side': '买卖类型0买入1卖出', 'reason': '上榜理由'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="top_inst",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def limit_list_d(self,trade_date: str = None, ts_code: str = None, limit_type: str = None, exchange: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        涨跌停列表（新）
        https://tushare.pro/document/2?doc_id=298
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 股票代码 N
        limit_type:str 涨跌停类型U涨停D跌停Z炸板 N
        exchange:str 交易所（SH上交所SZ深交所BJ北交所） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 股票代码 Y
        industry:str 所属行业 Y
        name:str 股票名称 Y
        close:float 收盘价 Y
        pct_chg:float 涨跌幅 Y
        swing:float 振幅 N
        amount:float 成交额 Y
        limit_amount:float 板上成交金额 Y
        float_mv:float 流通市值 Y
        total_mv:float 总市值 Y
        turnover_ratio:float 换手率 Y
        fd_amount:float 封单金额 Y
        first_time:str 首次封板时间 Y
        last_time:str 最后封板时间 Y
        open_times:int 炸板次数 Y
        up_stat:str 涨停统计 Y
        limit_times:int 连板数 Y
        limit:str D跌停U涨停Z炸板 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'industry' : 'str', 'name' : 'str', 'close' : 'float', 'pct_chg' : 'float', 'swing' : 'float', 'amount' : 'float', 'limit_amount' : 'float', 'float_mv' : 'float', 'total_mv' : 'float', 'turnover_ratio' : 'float', 'fd_amount' : 'float', 'first_time' : 'str', 'last_time' : 'str', 'open_times' : 'int', 'up_stat' : 'str', 'limit_times' : 'int', 'limit' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'industry': '所属行业', 'name': '股票名称', 'close': '收盘价', 'pct_chg': '涨跌幅', 'swing': '振幅', 'amount': '成交额', 'limit_amount': '板上成交金额', 'float_mv': '流通市值', 'total_mv': '总市值', 'turnover_ratio': '换手率', 'fd_amount': '封单金额', 'first_time': '首次封板时间', 'last_time': '最后封板时间', 'open_times': '炸板次数', 'up_stat': '涨停统计', 'limit_times': '连板数', 'limit': 'D跌停U涨停Z炸板'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="limit_list_d",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def limit_step(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, nums: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        连板天梯
        https://tushare.pro/document/2?doc_id=356
        <参数>
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        ts_code:str 股票代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        nums:str 连板次数 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 代码 Y
        name:str 名称 Y
        trade_date:str 交易日期 Y
        nums:str 连板次数 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'trade_date' : 'str', 'nums' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '名称', 'trade_date': '交易日期', 'nums': '连板次数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="limit_step",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def limit_cpt_list(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        最强板块统计
        https://tushare.pro/document/2?doc_id=357
        <参数>
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        ts_code:str 板块代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 板块代码 Y
        name:str 板块名称 Y
        trade_date:str 交易日期 Y
        days:str 上榜天数 Y
        up_stat:str 连板高度 Y
        cons_nums:str 连板家数 Y
        up_nums:str 涨停家数 Y
        pct_chg:float 涨跌幅% Y
        rank:str 板块热点排名 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'trade_date' : 'str', 'days' : 'str', 'up_stat' : 'str', 'cons_nums' : 'str', 'up_nums' : 'str', 'pct_chg' : 'float', 'rank' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '板块名称', 'trade_date': '交易日期', 'days': '上榜天数', 'up_stat': '连板高度', 'cons_nums': '连板家数', 'up_nums': '涨停家数', 'pct_chg': '涨跌幅百分比', 'rank': '板块热点排名'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="limit_cpt_list",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ths_index(self,ts_code: str = None, exchange: str = None, type: str = None, name: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        同花顺板块指数
        https://tushare.pro/document/2?doc_id=259
        <参数>
        ts_code:str 指数代码 N
        exchange:str 市场类型A-a股票 HK-港股 US-美股 N
        type:str 指数类型 N-板块指数 S-同花顺特色指数 N
        name:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 代码 Y
        name:str 名称 Y
        count:int 成分个数 Y
        exchange:str 交易所 Y
        list_date:str 上市日期 Y
        type:str N概念指数S特色指数 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'count' : 'int', 'exchange' : 'str', 'list_date' : 'str', 'type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '名称', 'count': '成分个数', 'exchange': '交易所', 'list_date': '上市日期', 'type': 'N概念指数S特色指数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ths_index",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ths_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        同花顺板块指数行情
        https://tushare.pro/document/2?doc_id=260
        <参数>
        ts_code:str 指数代码 N
        trade_date:str 交易日期（YYYYMMDD格式，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS指数代码 Y
        trade_date:str 交易日 Y
        open:float 开盘点位 Y
        high:float 最高点位 Y
        low:float 最低点位 Y
        close:float 收盘点位 Y
        pre_close:float 昨日收盘点 Y
        avg_price:float 平均点位 Y
        change:float 涨跌点位 Y
        pct_change:float 涨跌幅 Y
        vol:float 成交量 Y
        turnover_rate:float 换手率 Y
        total_mv:float 总市值 N
        float_mv:float 流通市值 N
        pe_ttm:float PE TTM N
        pb_mrq:float PB MRQ N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'avg_price' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'turnover_rate' : 'float', 'total_mv' : 'float', 'float_mv' : 'float', 'pe_ttm' : 'float', 'pb_mrq' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日', 'open': '开盘点位', 'high': '最高点位', 'low': '最低点位', 'close': '收盘点位', 'pre_close': '昨日收盘点', 'avg_price': '平均点位', 'change': '涨跌点位', 'pct_change': '涨跌幅', 'vol': '成交量', 'turnover_rate': '换手率', 'total_mv': '总市值', 'float_mv': '流通市值', 'pe_ttm': 'PETTM', 'pb_mrq': 'PBMRQ'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ths_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ths_member(self,ts_code: str = None, con_code: str = None, offset: str = None, limit: int = None,fields:str='' )->Query:
        """
        同花顺概念板块成分
        https://tushare.pro/document/2?doc_id=261
        <参数>
        ts_code:str 板块指数代码 N
        con_code:str 股票代码 N
        offset:str  N
        limit:int 单次返回数据长度 N
        <返回结果>
        ts_code:str 指数代码 Y
        con_code:str 股票代码 Y
        con_name:str 股票名称 Y
        weight:float 权重 N
        in_date:str 纳入日期 N
        out_date:str 剔除日期 N
        is_new:str 是否最新Y是N否 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'con_code' : 'str', 'con_name' : 'str', 'weight' : 'float', 'in_date' : 'str', 'out_date' : 'str', 'is_new' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'con_code': '股票代码', 'con_name': '股票名称', 'weight': '权重', 'in_date': '纳入日期', 'out_date': '剔除日期', 'is_new': '是否最新Y是N否'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ths_member",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def dc_index(self,ts_code: str = None, name: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        东方财富概念板块
        https://tushare.pro/document/2?doc_id=362
        <参数>
        ts_code:str 指数代码（支持多个代码同时输入，用逗号分隔） N
        name:str 板块名称（例如：人形机器人） N
        trade_date:str 交易日期（YYYYMMDD格式，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 概念代码 Y
        trade_date:str 交易日期 Y
        name:str 概念名称 Y
        leading:str 领涨股票名称 Y
        leading_code:str 领涨股票代码 Y
        pct_change:float 涨跌幅 Y
        leading_pct:float 领涨股票涨跌幅 Y
        total_mv:float 总市值（万元） Y
        turnover_rate:float 换手率 Y
        up_num:int 上涨家数 Y
        down_num:int 下降家数 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'name' : 'str', 'leading' : 'str', 'leading_code' : 'str', 'pct_change' : 'float', 'leading_pct' : 'float', 'total_mv' : 'float', 'turnover_rate' : 'float', 'up_num' : 'int', 'down_num' : 'int'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'name': '概念名称', 'leading': '领涨股票名称', 'leading_code': '领涨股票代码', 'pct_change': '涨跌幅', 'leading_pct': '领涨股票涨跌幅', 'total_mv': '总市值万元', 'turnover_rate': '换手率', 'up_num': '上涨家数', 'down_num': '下降家数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="dc_index",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def dc_member(self,trade_date: str = None, ts_code: str = None, con_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        东方财富板块成分
        https://tushare.pro/document/2?doc_id=363
        <参数>
        trade_date:str 交易日期（YYYYMMDD格式） N
        ts_code:str 板块指数代码 N
        con_code:str 成分股票代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 概念代码 Y
        con_code:str 成分代码 Y
        name:str 成分股名称 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'con_code' : 'str', 'name' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'con_code': '成分代码', 'name': '成分股名称'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="dc_member",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def dc_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, idx_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        东财概念板块行情
        https://tushare.pro/document/2?doc_id=382
        <参数>
        ts_code:str 板块代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        idx_type:str 板块类型（概念板块、行业板块、地域板块） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 板块代码 Y
        trade_date:str 交易日 Y
        close:float 收盘点位 Y
        open:float 开盘点位 Y
        high:float 最高点位 Y
        low:float 最低点位 Y
        change:float 涨跌点位 Y
        pct_change:float 涨跌幅 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        swing:float 振幅 Y
        turnover_rate:float 换手率 Y
        category:str 分类板块 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'swing' : 'float', 'turnover_rate' : 'float', 'category' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日', 'close': '收盘点位', 'open': '开盘点位', 'high': '最高点位', 'low': '最低点位', 'change': '涨跌点位', 'pct_change': '涨跌幅', 'vol': '成交量', 'amount': '成交额', 'swing': '振幅', 'turnover_rate': '换手率', 'category': '分类板块'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="dc_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_auction(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, ts_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        当日集合竞价
        https://tushare.pro/document/2?doc_id=369
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（YYYYMMDD格式，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        ts_type:str 类型 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        vol:int 成交量 Y
        price:float 成交均价（元） Y
        amount:float 成交金额（元） Y
        pre_close:float 昨收价 Y
        turnover_rate:float 换手率（%） Y
        volume_ratio:float 量比 Y
        float_share:float 流通股本（万股） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'vol' : 'int', 'price' : 'float', 'amount' : 'float', 'pre_close' : 'float', 'turnover_rate' : 'float', 'volume_ratio' : 'float', 'float_share' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'vol': '成交量', 'price': '成交均价元', 'amount': '成交金额元', 'pre_close': '昨收价', 'turnover_rate': '换手率百分比', 'volume_ratio': '量比', 'float_share': '流通股本万股'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_auction",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hm_list(self,name: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        游资名录
        https://tushare.pro/document/2?doc_id=311
        <参数>
        name:str 游资名称 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        name:str  Y
        desc:str 描述 Y
        orgs: 关联机构 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'name' : 'str', 'desc' : 'str', 'orgs' : 'str'}
        column_name_dict = {'name': '', 'desc': '描述', 'orgs': '关联机构'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hm_list",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hm_detail(self,trade_date: str = None, ts_code: str = None, hm_name: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        游资每日明细
        https://tushare.pro/document/2?doc_id=312
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 股票代码 N
        hm_name:str 游资名称 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str  Y
        ts_name:str  Y
        buy_amount:float 买入数量（万） Y
        sell_amount:float 卖出数量（万） Y
        net_amount:float 净买入（买卖和（万）） Y
        tag:str 标签 N
        hm_name:str 游资名称 Y
        hm_orgs:str 关联机构 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'ts_name' : 'str', 'buy_amount' : 'float', 'sell_amount' : 'float', 'net_amount' : 'float', 'tag' : 'str', 'hm_name' : 'str', 'hm_orgs' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'ts_name': '', 'buy_amount': '买入数量万', 'sell_amount': '卖出数量万', 'net_amount': '净买入买卖和万', 'tag': '标签', 'hm_name': '游资名称', 'hm_orgs': '关联机构'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hm_detail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ths_hot(self,trade_date: str = None, ts_code: str = None, market: str = None, is_new: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        同花顺热板
        https://tushare.pro/document/2?doc_id=320
        <参数>
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        ts_code:str TS代码 N
        market:str 热板类型(热股、ETF、可转债、行业板块、概念板块、期货、港股、热基、美股) N
        is_new:str 是否最新 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        data_type:str 数据类型 Y
        ts_code:str 股票代码 Y
        ts_name:str 股票名称 Y
        rank:int 排行或者热度 Y
        pct_change:float 涨跌幅% Y
        current_price:float 当前价格 Y
        hot:float 热度 Y
        concept:str 标签 Y
        rank_time:str 排行榜获取时间 Y
        rank_reason:str 上榜解读 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'data_type' : 'str', 'ts_code' : 'str', 'ts_name' : 'str', 'rank' : 'int', 'pct_change' : 'float', 'current_price' : 'float', 'hot' : 'float', 'concept' : 'str', 'rank_time' : 'str', 'rank_reason' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'data_type': '数据类型', 'ts_code': 'ts_code', 'ts_name': '股票名称', 'rank': '排行或者热度', 'pct_change': '涨跌幅百分比', 'current_price': '当前价格', 'hot': '热度', 'concept': '标签', 'rank_time': '排行榜获取时间', 'rank_reason': '上榜解读'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ths_hot",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def dc_hot(self,trade_date: str = None, ts_code: str = None, market: str = None, hot_type: str = None, is_new: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        东方财富热板
        https://tushare.pro/document/2?doc_id=321
        <参数>
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        ts_code:str TS代码 N
        market:str 热板类型(A股市场、ETF基金、港股市场、美股市场) N
        hot_type:str 热点类型(人气榜、飙升榜) N
        is_new:str 是否最新 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        data_type:str 数据类型 Y
        ts_code:str 股票代码 Y
        ts_name:str 股票名称 Y
        rank:int 排行或者热度 Y
        pct_change:float 涨跌幅% Y
        current_price:float 当前价格 Y
        hot:float 热度 Y
        concept:str 标签 Y
        rank_time:str 排行榜获取时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'data_type' : 'str', 'ts_code' : 'str', 'ts_name' : 'str', 'rank' : 'int', 'pct_change' : 'float', 'current_price' : 'float', 'hot' : 'float', 'concept' : 'str', 'rank_time' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'data_type': '数据类型', 'ts_code': 'ts_code', 'ts_name': '股票名称', 'rank': '排行或者热度', 'pct_change': '涨跌幅百分比', 'current_price': '当前价格', 'hot': '热度', 'concept': '标签', 'rank_time': '排行榜获取时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="dc_hot",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def tdx_index(self,ts_code: str = None, trade_date: str = None, idx_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        通达信板块信息
        https://tushare.pro/document/2?doc_id=376
        <参数>
        ts_code:str 板块代码：xxxxxx.TDX N
        trade_date:str 交易日期 N
        idx_type:str 板块类型：概念板块、行业板块、风格板块、地域板块 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 板块代码 Y
        trade_date:str 交易日期 Y
        name:str 板块名称 Y
        idx_type:str 板块类型 Y
        idx_count:int 成分个数 Y
        total_share:float 总股本(亿) Y
        float_share:float 流通股(亿) Y
        total_mv:float 总市值(亿) Y
        float_mv:float 流通市值(亿) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'name' : 'str', 'idx_type' : 'str', 'idx_count' : 'int', 'total_share' : 'float', 'float_share' : 'float', 'total_mv' : 'float', 'float_mv' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'name': '板块名称', 'idx_type': '板块类型', 'idx_count': '成分个数', 'total_share': '总股本亿', 'float_share': '流通股亿', 'total_mv': '总市值亿', 'float_mv': '流通市值亿'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="tdx_index",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def tdx_member(self,ts_code: str = None, trade_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        通达信板块成分
        https://tushare.pro/document/2?doc_id=377
        <参数>
        ts_code:str 板块代码 N
        trade_date:str 交易日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 板块代码 Y
        trade_date:str 交易日期 Y
        con_code:str 成分股票代码 Y
        con_name:str 成分股票名称 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'con_code' : 'str', 'con_name' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'con_code': '成分股票代码', 'con_name': '成分股票名称'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="tdx_member",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def tdx_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        通达信板块行情
        https://tushare.pro/document/2?doc_id=378
        <参数>
        ts_code:str 板块代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 板块代码 Y
        trade_date:str 交易日期 Y
        close:float 收盘点位 Y
        open:float 开盘点位 Y
        high:float 最高点位 Y
        low:float 最低点位 Y
        pre_close:float 昨日收盘点 Y
        change:float 涨跌点位 Y
        pct_change:float 涨跌幅% Y
        vol:float 成交量 Y
        amount:float 成交额, 对于期货指数，该字段存储持仓量 Y
        rise:str 收盘涨速% Y
        vol_ratio:float 量比 Y
        turnover_rate:float 换手% Y
        swing:float 振幅% Y
        up_num:int 上涨家数 Y
        down_num:int 下跌家数 Y
        limit_up_num:int 涨停家数 Y
        limit_down_num:int 跌停家数 Y
        lu_days:int 连涨天数 Y
        3day:float 3日涨幅% Y
        5day:float 5日涨幅% Y
        10day:float 10日涨幅% Y
        20day:float 20日涨幅% Y
        60day:float 60日涨幅% Y
        mtd:float 月初至今% Y
        ytd:float 年初至今% Y
        1year:float 一年涨幅% Y
        pe:str 市盈率 Y
        pb:str 市净率 Y
        float_mv:float 流通市值(亿) Y
        ab_total_mv:float AB股总市值（亿） Y
        float_share:float 流通股(亿) Y
        total_share:float 总股本(亿) Y
        bm_buy_net:float 主买净额(元) Y
        bm_buy_ratio:float 主买占比% Y
        bm_net:float 主力净额 Y
        bm_ratio:float 主力占比% Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'rise' : 'str', 'vol_ratio' : 'float', 'turnover_rate' : 'float', 'swing' : 'float', 'up_num' : 'int', 'down_num' : 'int', 'limit_up_num' : 'int', 'limit_down_num' : 'int', 'lu_days' : 'int', '3day' : 'float', '5day' : 'float', '10day' : 'float', '20day' : 'float', '60day' : 'float', 'mtd' : 'float', 'ytd' : 'float', '1year' : 'float', 'pe' : 'str', 'pb' : 'str', 'float_mv' : 'float', 'ab_total_mv' : 'float', 'float_share' : 'float', 'total_share' : 'float', 'bm_buy_net' : 'float', 'bm_buy_ratio' : 'float', 'bm_net' : 'float', 'bm_ratio' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '收盘点位', 'open': '开盘点位', 'high': '最高点位', 'low': '最低点位', 'pre_close': '昨日收盘点', 'change': '涨跌点位', 'pct_change': '涨跌幅百分比', 'vol': '成交量', 'amount': '成交额,对于期货指数，该字段存储持仓量', 'rise': '收盘涨速百分比', 'vol_ratio': '量比', 'turnover_rate': '换手百分比', 'swing': '振幅百分比', 'up_num': '上涨家数', 'down_num': '下跌家数', 'limit_up_num': '涨停家数', 'limit_down_num': '跌停家数', 'lu_days': '连涨天数', '3day': '3日涨幅百分比', '5day': '5日涨幅百分比', '10day': '10日涨幅百分比', '20day': '20日涨幅百分比', '60day': '60日涨幅百分比', 'mtd': '月初至今百分比', 'ytd': '年初至今百分比', '1year': '一年涨幅百分比', 'pe': '市盈率', 'pb': '市净率', 'float_mv': '流通市值亿', 'ab_total_mv': 'AB股总市值亿', 'float_share': '流通股亿', 'total_share': '总股本亿', 'bm_buy_net': '主买净额元', 'bm_buy_ratio': '主买占比百分比', 'bm_net': '主力净额', 'bm_ratio': '主力占比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="tdx_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def etf_basic(self,ts_code: str = None, index_code: str = None, list_date: str = None, list_status: str = None, exchange: str = None, mgr: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        ETF基础信息
        https://tushare.pro/document/2?doc_id=385
        <参数>
        ts_code:str ETF代码 N
        index_code:str 跟踪指数代码 N
        list_date:str 上市日期 N
        list_status:str 上市状态 N
        exchange:str 交易所：SH上交所 SZ深交所 N
        mgr:str 管理人（简称，e.g.华夏基金) N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 基金交易代码 Y
        csname:str ETF中文简称 Y
        extname:str ETF扩位简称(对应交易所简称) Y
        cname:str 基金中文全称 Y
        index_code:str ETF基准指数代码 Y
        index_name:str ETF基准指数中文全称 Y
        setup_date:str 基金设立日期 Y
        list_date:str 基金上市日期 Y
        list_status:str 基金存续状态L上市 D退市 P待上市 Y
        exchange:str 交易所编码上交所SH 深交所SZ Y
        mgr_name:str 基金管理人简称 Y
        custod_name:str 基金托管人名称 Y
        mgt_fee:float 基金管理人收取的费用 Y
        etf_type:str 基金投资通道类型（境内、QDII） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'csname' : 'str', 'extname' : 'str', 'cname' : 'str', 'index_code' : 'str', 'index_name' : 'str', 'setup_date' : 'str', 'list_date' : 'str', 'list_status' : 'str', 'exchange' : 'str', 'mgr_name' : 'str', 'custod_name' : 'str', 'mgt_fee' : 'float', 'etf_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'csname': 'ETF中文简称', 'extname': 'ETF扩位简称对应交易所简称', 'cname': '基金中文全称', 'index_code': 'ETF基准指数代码', 'index_name': 'ETF基准指数中文全称', 'setup_date': '基金设立日期', 'list_date': '基金上市日期', 'list_status': '基金存续状态L上市D退市P待上市', 'exchange': '交易所编码上交所SH深交所SZ', 'mgr_name': '基金管理人简称', 'custod_name': '基金托管人名称', 'mgt_fee': '基金管理人收取的费用', 'etf_type': '基金投资通道类型境内、QDII'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="etf_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def etf_index(self,ts_code: str = None, pub_date: str = None, base_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        ETF基准指数列表
        https://tushare.pro/document/2?doc_id=386
        <参数>
        ts_code:str 指数代码 N
        pub_date:str 指数发布日期 N
        base_date:str 指数基日 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 指数代码 Y
        indx_name:str 指数全称 Y
        indx_csname:str 指数简称 Y
        pub_party_name:str 指数发布机构名称 Y
        pub_date:str 指数发布日期  Y
        base_date:str 指数基日 Y
        bp:float 指数基点(点) Y
        adj_circle:str 指数成份证券调整周期 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'indx_name' : 'str', 'indx_csname' : 'str', 'pub_party_name' : 'str', 'pub_date' : 'str', 'base_date' : 'str', 'bp' : 'float', 'adj_circle' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'indx_name': '指数全称', 'indx_csname': '指数简称', 'pub_party_name': '指数发布机构名称', 'pub_date': '指数发布日期', 'base_date': '指数基日', 'bp': '指数基点点', 'adj_circle': '指数成份证券调整周期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="etf_index",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def stk_mins(self,ts_code: str = None, freq: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        股票基金指数es分钟
        https://tushare.pro/document/2?doc_id=387
        <参数>
        ts_code:str ts_code Y
        freq:str 分钟频度 Y
        start_date:datetime  N
        end_date:datetime 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_time:datetime 交易日期 Y
        close:float 收盘价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        freq:str 频率 N
        exchange:str 交易所 N
        vwap:float 平均价 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_time' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float', 'freq' : 'str', 'exchange' : 'str', 'vwap' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_time': '交易日期', 'close': '收盘价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'vol': '成交量', 'amount': '成交额', 'freq': '频率', 'exchange': '交易所', 'vwap': '平均价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="stk_mins",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_daily(self,trade_date: str = None, start_date: str = None, end_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        场内基金日线行情
        https://tushare.pro/document/2?doc_id=127
        <参数>
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        ts_code:str 基金代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 交易日期 Y
        pre_close:float 昨收盘价(元) Y
        open:float 开盘价(元) Y
        high:float 最高价(元) Y
        low:float 最低价(元) Y
        close:float 收盘价(元) Y
        change:float 涨跌(元) Y
        pct_chg:float 涨跌幅(%) Y
        vol:float 成交量(手) Y
        amount:float 成交金额(千元) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'pre_close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'pre_close': '昨收盘价元', 'open': '开盘价元', 'high': '最高价元', 'low': '最低价元', 'close': '收盘价元', 'change': '涨跌元', 'pct_chg': '涨跌幅百分比', 'vol': '成交量手', 'amount': '成交金额千元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_adj(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, offset: str = None, limit: str = None,fields:str='' )->Query:
        """
        基金复权因子
        https://tushare.pro/document/2?doc_id=199
        <参数>
        ts_code:str TS基金代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        offset:str 开始行数 N
        limit:str 最大行数 N
        <返回结果>
        ts_code:str ts基金代码 Y
        trade_date:str 交易日期 Y
        adj_factor:float 复权因子 Y
        discount_rate:float 贴水率（%） N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'adj_factor' : 'float', 'discount_rate' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'adj_factor': '复权因子', 'discount_rate': '贴水率百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_adj",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_basic(self,ts_code: str = None, market: str = None, publisher: str = None, category: str = None, name: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        指数基本信息
        https://tushare.pro/document/2?doc_id=94
        <参数>
        ts_code:str 指数代码 N
        market:str 交易所或服务商 N
        publisher:str 发布商 N
        category:str 指数类别 N
        name:str 指数名称 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        name:str 简称 Y
        fullname:str 指数全称 N
        market:str 市场 Y
        publisher:str 发布方 Y
        index_type:str 指数风格 N
        category:str 指数类别 Y
        base_date:str 基期 Y
        base_point:float 基点 Y
        list_date:str 发布日期 Y
        weight_rule:str 加权方式 N
        desc:str 描述 N
        exp_date:str 终止日期 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'fullname' : 'str', 'market' : 'str', 'publisher' : 'str', 'index_type' : 'str', 'category' : 'str', 'base_date' : 'str', 'base_point' : 'float', 'list_date' : 'str', 'weight_rule' : 'str', 'desc' : 'str', 'exp_date' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '简称', 'fullname': '指数全称', 'market': '市场', 'publisher': '发布方', 'index_type': '指数风格', 'category': '指数类别', 'base_date': '基期', 'base_point': '基点', 'list_date': '发布日期', 'weight_rule': '加权方式', 'desc': '描述', 'exp_date': '终止日期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        指数日线行情
        https://tushare.pro/document/2?doc_id=95
        <参数>
        ts_code:str 指数代码 Y
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        trade_date:datetime  Y
        close:float  Y
        open:float  Y
        high:float  Y
        low:float  Y
        pre_close:float  Y
        change:float  Y
        pct_chg:float  Y
        vol:float  Y
        amount:float  Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '', 'close': '', 'open': '', 'high': '', 'low': '', 'pre_close': '', 'change': '', 'pct_chg': '', 'vol': '', 'amount': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_weekly(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        指数周线行情
        https://tushare.pro/document/2?doc_id=171
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期（格式：YYYYMMDD，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS指数代码 Y
        trade_date:str 交易日 Y
        close:float 收盘点位 Y
        open:float 开盘点位 Y
        high:float 最高点位 Y
        low:float 最低点位 Y
        pre_close:float 昨日收盘点 Y
        change:float 涨跌点位 Y
        pct_chg:float 涨跌幅 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日', 'close': '收盘点位', 'open': '开盘点位', 'high': '最高点位', 'low': '最低点位', 'pre_close': '昨日收盘点', 'change': '涨跌点位', 'pct_chg': '涨跌幅', 'vol': '成交量', 'amount': '成交额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_weekly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_monthly(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        指数月线行情
        https://tushare.pro/document/2?doc_id=172
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS指数代码 Y
        trade_date:str 交易日 Y
        close:float 收盘点位 Y
        open:float 开盘点位 Y
        high:float 最高点位 Y
        low:float 最低点位 Y
        pre_close:float 昨日收盘点 Y
        change:float 涨跌点位 Y
        pct_chg:float 涨跌幅 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日', 'close': '收盘点位', 'open': '开盘点位', 'high': '最高点位', 'low': '最低点位', 'pre_close': '昨日收盘点', 'change': '涨跌点位', 'pct_chg': '涨跌幅', 'vol': '成交量', 'amount': '成交额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_monthly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_weight(self,index_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        指数成分和权重
        https://tushare.pro/document/2?doc_id=96
        <参数>
        index_code:str 指数代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        ts_code:str 股票成分代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        index_code:str 指数代码 Y
        con_code:str 成分代码 Y
        trade_date:str 交易日期 Y
        weight:float 权重 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'index_code' : 'str', 'con_code' : 'str', 'trade_date' : 'str', 'weight' : 'float'}
        column_name_dict = {'index_code': '指数代码', 'con_code': '成分代码', 'trade_date': '交易日期', 'weight': '权重'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_weight",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_dailybasic(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        大盘指数每日指标
        https://tushare.pro/document/2?doc_id=128
        <参数>
        trade_date:str 交易日期 N
        ts_code:str TS指数代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 交易日期 Y
        total_mv:float 当日总市值 Y
        float_mv:float 当日流通市值 Y
        total_share:float 当日总股本 Y
        float_share:float 当日流通股本 Y
        free_share:float 当日自由流通股本 Y
        turnover_rate:float 换手率 Y
        turnover_rate_f:float 换手率(自由流通股本) Y
        pe:float 市盈率 Y
        pe_ttm:float 市盈率TTM Y
        pb:float 市净率 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'total_mv' : 'float', 'float_mv' : 'float', 'total_share' : 'float', 'float_share' : 'float', 'free_share' : 'float', 'turnover_rate' : 'float', 'turnover_rate_f' : 'float', 'pe' : 'float', 'pe_ttm' : 'float', 'pb' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'total_mv': '当日总市值', 'float_mv': '当日流通市值', 'total_share': '当日总股本', 'float_share': '当日流通股本', 'free_share': '当日自由流通股本', 'turnover_rate': '换手率', 'turnover_rate_f': '换手率自由流通股本', 'pe': '市盈率', 'pe_ttm': '市盈率TTM', 'pb': '市净率'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_dailybasic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_member_all(self,l1_code: str = None, l2_code: str = None, l3_code: str = None, is_new: str = None, ts_code: str = None, src: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        申万行业成分构成
        https://tushare.pro/document/2?doc_id=335
        <参数>
        l1_code:str 一级代码 N
        l2_code:str 二级代码 N
        l3_code:str 三级代码 N
        is_new:str 是否最新 N
        ts_code:str 股票代码 N
        src:str 来源 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        l1_code:str L1代码 Y
        l1_name:str L1名称 Y
        l2_code:str L2代码 Y
        l2_name:str L2名称 Y
        l3_code:str L3代码 Y
        l3_name:str L3名称 Y
        ts_code:str 成分股票代码 Y
        name:str 成分股票名称 Y
        in_date:str 纳入日期 Y
        out_date:str 剔除日期 Y
        is_new:str 是否最新Y是N否 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'l1_code' : 'str', 'l1_name' : 'str', 'l2_code' : 'str', 'l2_name' : 'str', 'l3_code' : 'str', 'l3_name' : 'str', 'ts_code' : 'str', 'name' : 'str', 'in_date' : 'str', 'out_date' : 'str', 'is_new' : 'str'}
        column_name_dict = {'l1_code': 'L1代码', 'l1_name': 'L1名称', 'l2_code': 'L2代码', 'l2_name': 'L2名称', 'l3_code': 'L3代码', 'l3_name': 'L3名称', 'ts_code': 'ts_code', 'name': '成分股票名称', 'in_date': '纳入日期', 'out_date': '剔除日期', 'is_new': '是否最新Y是N否'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_member_all",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_classify(self,index_code: str = None, level: str = None, src: str = None, parent_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        申万行业分类
        https://tushare.pro/document/2?doc_id=181
        <参数>
        index_code:str 指数代码 N
        level:str 行业分级（L1/L2/L3） N
        src:str 指数来源（SW2014：申万2014，SW2021:申万2021版本） N
        parent_code:str 父级代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        index_code:str 指数代码 Y
        industry_name:str 行业名称 Y
        level:str 行业名称 Y
        industry_code:str 行业代码 Y
        is_pub:str 是否发布指数 Y
        parent_code:str 父级代码 Y
        src:str 行业分类（SW申万） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'index_code' : 'str', 'industry_name' : 'str', 'level' : 'str', 'industry_code' : 'str', 'is_pub' : 'str', 'parent_code' : 'str', 'src' : 'str'}
        column_name_dict = {'index_code': '指数代码', 'industry_name': '行业名称', 'level': '行业名称', 'industry_code': '行业代码', 'is_pub': '是否发布指数', 'parent_code': '父级代码', 'src': '行业分类SW申万'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_classify",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def sw_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        申万行业日线行情
        https://tushare.pro/document/2?doc_id=327
        <参数>
        ts_code:str 行业代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 指数代码 Y
        trade_date:str 交易日期 Y
        name:str 指数名称 Y
        open:float 开盘点位 Y
        low:float 最低点位 Y
        high:float 最高点位 Y
        close:float 收盘点位 Y
        change:float 涨跌点位 Y
        pct_change:float 涨跌幅 Y
        vol:float 成交量（万股） Y
        amount:float 成交额（万元） Y
        pe:float 市盈率 Y
        pb:float 市净率 Y
        float_mv:float 流通市值（万元） Y
        total_mv:float 总市值（万元） Y
        weight:float 权重 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'name' : 'str', 'open' : 'float', 'low' : 'float', 'high' : 'float', 'close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'pe' : 'float', 'pb' : 'float', 'float_mv' : 'float', 'total_mv' : 'float', 'weight' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'name': '指数名称', 'open': '开盘点位', 'low': '最低点位', 'high': '最高点位', 'close': '收盘点位', 'change': '涨跌点位', 'pct_change': '涨跌幅', 'vol': '成交量万股', 'amount': '成交额万元', 'pe': '市盈率', 'pb': '市净率', 'float_mv': '流通市值万元', 'total_mv': '总市值万元', 'weight': '权重'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="sw_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ci_index_member(self,l1_code: str = None, l2_code: str = None, l3_code: str = None, is_new: str = None, ts_code: str = None, src: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        中信行业成分
        https://tushare.pro/document/2?doc_id=373
        <参数>
        l1_code:str 一级代码 N
        l2_code:str 二级代码 N
        l3_code:str 三级代码 N
        is_new:str 是否最新 N
        ts_code:str 股票代码 N
        src:str 来源 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        l1_code:str L1代码 Y
        l1_name:str L1名称 Y
        l2_code:str L2代码 Y
        l2_name:str L2名称 Y
        l3_code:str L3代码 Y
        l3_name:str L3名称 Y
        ts_code:str 成分股票代码 Y
        name:str 成分股票名称 Y
        in_date:str 纳入日期 Y
        out_date:str 剔除日期 Y
        is_new:str 是否最新Y是N否 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'l1_code' : 'str', 'l1_name' : 'str', 'l2_code' : 'str', 'l2_name' : 'str', 'l3_code' : 'str', 'l3_name' : 'str', 'ts_code' : 'str', 'name' : 'str', 'in_date' : 'str', 'out_date' : 'str', 'is_new' : 'str'}
        column_name_dict = {'l1_code': 'L1代码', 'l1_name': 'L1名称', 'l2_code': 'L2代码', 'l2_name': 'L2名称', 'l3_code': 'L3代码', 'l3_name': 'L3名称', 'ts_code': 'ts_code', 'name': '成分股票名称', 'in_date': '纳入日期', 'out_date': '剔除日期', 'is_new': '是否最新Y是N否'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ci_index_member",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ci_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        中信行业指数行情
        https://tushare.pro/document/2?doc_id=308
        <参数>
        ts_code:str 行业代码 N
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 指数代码 Y
        trade_date:str 交易日期 Y
        open:float 开盘点位 Y
        low:float 最低点位 Y
        high:float 最高点位 Y
        close:float 收盘点位 Y
        pre_close:float 昨日收盘点位 Y
        change:float 涨跌点位 Y
        pct_change:float 涨跌幅 Y
        vol:float 成交量（万股） Y
        amount:float 成交额（万元） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'low' : 'float', 'high' : 'float', 'close' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'open': '开盘点位', 'low': '最低点位', 'high': '最高点位', 'close': '收盘点位', 'pre_close': '昨日收盘点位', 'change': '涨跌点位', 'pct_change': '涨跌幅', 'vol': '成交量万股', 'amount': '成交额万元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ci_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_global(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        国际指数
        https://tushare.pro/document/2?doc_id=211
        <参数>
        ts_code:str TS指数代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS指数代码 Y
        trade_date:str 交易日 Y
        open:float 开盘点位 Y
        close:float 收盘点位 Y
        high:float 最高点位 Y
        low:float 最低点位 Y
        pre_close:float 昨日收盘点 Y
        change:float 涨跌点位 Y
        pct_chg:float 涨跌幅 Y
        swing:float 振幅 Y
        vol:float 成交量 Y
        amount:float 成交额 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'close' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'swing' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日', 'open': '开盘点位', 'close': '收盘点位', 'high': '最高点位', 'low': '最低点位', 'pre_close': '昨日收盘点', 'change': '涨跌点位', 'pct_chg': '涨跌幅', 'swing': '振幅', 'vol': '成交量', 'amount': '成交额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_global",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def idx_factor_pro(self,ts_code: str = None, start_date: str = None, end_date: str = None, trade_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        指数技术因子(专业版)
        https://tushare.pro/document/2?doc_id=358
        <参数>
        ts_code:str 指数代码（大盘指数 申万指数 中信指数） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        trade_date:str 交易日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 指数代码 Y
        trade_date:str 交易日期 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_change:float 涨跌幅 （未复权，如果是复权请用 通用行情接口 ） Y
        vol:float 成交量 （手） Y
        amount:float 成交额 （千元） Y
        asi_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asit_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        atr_bfq:float 真实波动N日平均值-CLOSE, HIGH, LOW, N=20 Y
        bbi_bfq:float BBI多空指标-CLOSE, M1=3, M2=6, M3=12, M4=20 Y
        bias1_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias2_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias3_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        boll_lower_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_mid_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_upper_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        brar_ar_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_br_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        cci_bfq:float 顺势指标又叫CCI指标-CLOSE, HIGH, LOW, N=14 Y
        cr_bfq:float CR价格动量指标-CLOSE, HIGH, LOW, N=20 Y
        dfma_dif_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_difma_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dmi_adx_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adxr_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_mdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_pdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        downdays:float 连跌天数 Y
        updays:float 连涨天数 Y
        dpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        madpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        ema_bfq_10:float 指数移动平均-N=10 Y
        ema_bfq_20:float 指数移动平均-N=20 Y
        ema_bfq_250:float 指数移动平均-N=250 Y
        ema_bfq_30:float 指数移动平均-N=30 Y
        ema_bfq_5:float 指数移动平均-N=5 Y
        ema_bfq_60:float 指数移动平均-N=60 Y
        ema_bfq_90:float 指数移动平均-N=90 Y
        emv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        maemv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        expma_12_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_50_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        kdj_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_d_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_k_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        ktn_down_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_mid_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_upper_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        lowdays:float LOWRANGE(LOW)表示当前最低价是近多少周期内最低价的最小值 Y
        topdays:float TOPRANGE(HIGH)表示当前最高价是近多少周期内最高价的最大值 Y
        ma_bfq_10:float 简单移动平均-N=10 Y
        ma_bfq_20:float 简单移动平均-N=20 Y
        ma_bfq_250:float 简单移动平均-N=250 Y
        ma_bfq_30:float 简单移动平均-N=30 Y
        ma_bfq_5:float 简单移动平均-N=5 Y
        ma_bfq_60:float 简单移动平均-N=60 Y
        ma_bfq_90:float 简单移动平均-N=90 Y
        macd_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dea_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dif_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        ma_mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        mfi_bfq:float MFI指标是成交量的RSI指标-CLOSE, HIGH, LOW, VOL, N=14 Y
        mtm_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtmma_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        obv_bfq:float 能量潮指标-CLOSE, VOL Y
        psy_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psyma_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        roc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        maroc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        rsi_bfq_12:float RSI指标-CLOSE, N=12 Y
        rsi_bfq_24:float RSI指标-CLOSE, N=24 Y
        rsi_bfq_6:float RSI指标-CLOSE, N=6 Y
        taq_down_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_mid_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_up_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        trix_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trma_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        vr_bfq:float VR容量比率-CLOSE, VOL, M1=26 Y
        wr_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr1_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        xsii_td1_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td2_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td3_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td4_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'asi_bfq' : 'float', 'asit_bfq' : 'float', 'atr_bfq' : 'float', 'bbi_bfq' : 'float', 'bias1_bfq' : 'float', 'bias2_bfq' : 'float', 'bias3_bfq' : 'float', 'boll_lower_bfq' : 'float', 'boll_mid_bfq' : 'float', 'boll_upper_bfq' : 'float', 'brar_ar_bfq' : 'float', 'brar_br_bfq' : 'float', 'cci_bfq' : 'float', 'cr_bfq' : 'float', 'dfma_dif_bfq' : 'float', 'dfma_difma_bfq' : 'float', 'dmi_adx_bfq' : 'float', 'dmi_adxr_bfq' : 'float', 'dmi_mdi_bfq' : 'float', 'dmi_pdi_bfq' : 'float', 'downdays' : 'float', 'updays' : 'float', 'dpo_bfq' : 'float', 'madpo_bfq' : 'float', 'ema_bfq_10' : 'float', 'ema_bfq_20' : 'float', 'ema_bfq_250' : 'float', 'ema_bfq_30' : 'float', 'ema_bfq_5' : 'float', 'ema_bfq_60' : 'float', 'ema_bfq_90' : 'float', 'emv_bfq' : 'float', 'maemv_bfq' : 'float', 'expma_12_bfq' : 'float', 'expma_50_bfq' : 'float', 'kdj_bfq' : 'float', 'kdj_d_bfq' : 'float', 'kdj_k_bfq' : 'float', 'ktn_down_bfq' : 'float', 'ktn_mid_bfq' : 'float', 'ktn_upper_bfq' : 'float', 'lowdays' : 'float', 'topdays' : 'float', 'ma_bfq_10' : 'float', 'ma_bfq_20' : 'float', 'ma_bfq_250' : 'float', 'ma_bfq_30' : 'float', 'ma_bfq_5' : 'float', 'ma_bfq_60' : 'float', 'ma_bfq_90' : 'float', 'macd_bfq' : 'float', 'macd_dea_bfq' : 'float', 'macd_dif_bfq' : 'float', 'mass_bfq' : 'float', 'ma_mass_bfq' : 'float', 'mfi_bfq' : 'float', 'mtm_bfq' : 'float', 'mtmma_bfq' : 'float', 'obv_bfq' : 'float', 'psy_bfq' : 'float', 'psyma_bfq' : 'float', 'roc_bfq' : 'float', 'maroc_bfq' : 'float', 'rsi_bfq_12' : 'float', 'rsi_bfq_24' : 'float', 'rsi_bfq_6' : 'float', 'taq_down_bfq' : 'float', 'taq_mid_bfq' : 'float', 'taq_up_bfq' : 'float', 'trix_bfq' : 'float', 'trma_bfq' : 'float', 'vr_bfq' : 'float', 'wr_bfq' : 'float', 'wr1_bfq' : 'float', 'xsii_td1_bfq' : 'float', 'xsii_td2_bfq' : 'float', 'xsii_td3_bfq' : 'float', 'xsii_td4_bfq' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_change': '涨跌幅未复权，如果是复权请用 通用行情接口 ', 'vol': '成交量手', 'amount': '成交额千元', 'asi_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asit_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'atr_bfq': '真实波动N日平均值-CLOSE,HIGH,LOW,N=20', 'bbi_bfq': 'BBI多空指标-CLOSE,M1=3,M2=6,M3=12,M4=20', 'bias1_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias2_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias3_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'boll_lower_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_mid_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_upper_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'brar_ar_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_br_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'cci_bfq': '顺势指标又叫CCI指标-CLOSE,HIGH,LOW,N=14', 'cr_bfq': 'CR价格动量指标-CLOSE,HIGH,LOW,N=20', 'dfma_dif_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_difma_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dmi_adx_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adxr_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_mdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_pdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'downdays': '连跌天数', 'updays': '连涨天数', 'dpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'madpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'ema_bfq_10': '指数移动平均-N=10', 'ema_bfq_20': '指数移动平均-N=20', 'ema_bfq_250': '指数移动平均-N=250', 'ema_bfq_30': '指数移动平均-N=30', 'ema_bfq_5': '指数移动平均-N=5', 'ema_bfq_60': '指数移动平均-N=60', 'ema_bfq_90': '指数移动平均-N=90', 'emv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'maemv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'expma_12_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_50_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'kdj_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_d_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_k_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'ktn_down_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_mid_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_upper_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'lowdays': 'LOWRANGELOW表示当前最低价是近多少周期内最低价的最小值', 'topdays': 'TOPRANGEHIGH表示当前最高价是近多少周期内最高价的最大值', 'ma_bfq_10': '简单移动平均-N=10', 'ma_bfq_20': '简单移动平均-N=20', 'ma_bfq_250': '简单移动平均-N=250', 'ma_bfq_30': '简单移动平均-N=30', 'ma_bfq_5': '简单移动平均-N=5', 'ma_bfq_60': '简单移动平均-N=60', 'ma_bfq_90': '简单移动平均-N=90', 'macd_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dea_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dif_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'ma_mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'mfi_bfq': 'MFI指标是成交量的RSI指标-CLOSE,HIGH,LOW,VOL,N=14', 'mtm_bfq': '动量指标-CLOSE,N=12,M=6', 'mtmma_bfq': '动量指标-CLOSE,N=12,M=6', 'obv_bfq': '能量潮指标-CLOSE,VOL', 'psy_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psyma_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'roc_bfq': '变动率指标-CLOSE,N=12,M=6', 'maroc_bfq': '变动率指标-CLOSE,N=12,M=6', 'rsi_bfq_12': 'RSI指标-CLOSE,N=12', 'rsi_bfq_24': 'RSI指标-CLOSE,N=24', 'rsi_bfq_6': 'RSI指标-CLOSE,N=6', 'taq_down_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_mid_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_up_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'trix_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trma_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'vr_bfq': 'VR容量比率-CLOSE,VOL,M1=26', 'wr_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr1_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'xsii_td1_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td2_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td3_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td4_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="idx_factor_pro",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def sz_daily_info(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        深圳市场每日交易概况
        https://tushare.pro/document/2?doc_id=268
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 板块代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str  Y
        ts_code:str 市场类型 Y
        count:int 股票个数 Y
        amount:float 成交金额 Y
        vol: 成交量 Y
        total_share:float 总股本 Y
        total_mv:float 总市值 Y
        float_share:float 流通股票 Y
        float_mv:float 流通市值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'count' : 'int', 'amount' : 'float', 'vol' : 'str', 'total_share' : 'float', 'total_mv' : 'float', 'float_share' : 'float', 'float_mv' : 'float'}
        column_name_dict = {'trade_date': '', 'ts_code': 'ts_code', 'count': '股票个数', 'amount': '成交金额', 'vol': '成交量', 'total_share': '总股本', 'total_mv': '总市值', 'float_share': '流通股票', 'float_mv': '流通市值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="sz_daily_info",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def daily_info(self,trade_date: str = None, ts_code: str = None, exchange: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        市场交易统计
        https://tushare.pro/document/2?doc_id=215
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 板块代码 N
        exchange:str 股票市场 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 市场代码 Y
        ts_name:str 市场名称 Y
        com_count:int 挂牌数 Y
        total_share:float 总股本（亿股） Y
        float_share:float 流通股本（亿股） Y
        total_mv:float 总市值（亿元） Y
        float_mv:float 流通市值（亿元） Y
        amount:float 交易金额（亿元） Y
        vol:float 成交量（亿股） Y
        trans_count:int 成交笔数（万笔） Y
        pe:float 平均市盈率 Y
        tr:float 换手率（％） Y
        exchange:str 交易所 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'ts_name' : 'str', 'com_count' : 'int', 'total_share' : 'float', 'float_share' : 'float', 'total_mv' : 'float', 'float_mv' : 'float', 'amount' : 'float', 'vol' : 'float', 'trans_count' : 'int', 'pe' : 'float', 'tr' : 'float', 'exchange' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'ts_name': '市场名称', 'com_count': '挂牌数', 'total_share': '总股本亿股', 'float_share': '流通股本亿股', 'total_mv': '总市值亿元', 'float_mv': '流通市值亿元', 'amount': '交易金额亿元', 'vol': '成交量亿股', 'trans_count': '成交笔数万笔', 'pe': '平均市盈率', 'tr': '换手率％', 'exchange': '交易所'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="daily_info",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_basic(self,ts_code: str = None, market: str = None, update_flag: str = None, offset: int = None, limit: int = None, status: str = None, name: str = None,fields:str='' )->Query:
        """
        公募基金列表
        https://tushare.pro/document/2?doc_id=19
        <参数>
        ts_code:str TS基金代码 N
        market:str 交易市场 N
        update_flag:str 更新标志 N
        offset:int  N
        limit:int  N
        status:str 存续状态 N
        name:str  N
        <返回结果>
        ts_code:str 基金代码 Y
        name:str 简称 Y
        management:str 管理人 Y
        custodian:str 托管人 Y
        fund_type:str 投资类型 Y
        found_date:str 成立日期 Y
        due_date:str 到期日期 Y
        list_date:str 上市时间 Y
        issue_date:str 发行日期 Y
        delist_date:str 退市日期 Y
        issue_amount:float 发行份额(亿份) Y
        m_fee:float 管理费 Y
        c_fee:float 托管费 Y
        duration_year:float 存续期 Y
        p_value:float 面值 Y
        min_amount:float 起点金额(万元) Y
        exp_return:float 预期收益率 Y
        benchmark:str 业绩比较基准 Y
        status:str 存续状态D摘牌 I发行 L已上市 Y
        invest_type:str 投资风格 Y
        type:str 基金类型 Y
        trustee:str 受托人 Y
        purc_startdate:str 日常申购起始日 Y
        redm_startdate:str 日常赎回起始日 Y
        market:str E场内O场外 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'management' : 'str', 'custodian' : 'str', 'fund_type' : 'str', 'found_date' : 'str', 'due_date' : 'str', 'list_date' : 'str', 'issue_date' : 'str', 'delist_date' : 'str', 'issue_amount' : 'float', 'm_fee' : 'float', 'c_fee' : 'float', 'duration_year' : 'float', 'p_value' : 'float', 'min_amount' : 'float', 'exp_return' : 'float', 'benchmark' : 'str', 'status' : 'str', 'invest_type' : 'str', 'type' : 'str', 'trustee' : 'str', 'purc_startdate' : 'str', 'redm_startdate' : 'str', 'market' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '简称', 'management': '管理人', 'custodian': '托管人', 'fund_type': '投资类型', 'found_date': '成立日期', 'due_date': '到期日期', 'list_date': '上市时间', 'issue_date': '发行日期', 'delist_date': '退市日期', 'issue_amount': '发行份额亿份', 'm_fee': '管理费', 'c_fee': '托管费', 'duration_year': '存续期', 'p_value': '面值', 'min_amount': '起点金额万元', 'exp_return': '预期收益率', 'benchmark': '业绩比较基准', 'status': '存续状态D摘牌I发行L已上市', 'invest_type': '投资风格', 'type': '基金类型', 'trustee': '受托人', 'purc_startdate': '日常申购起始日', 'redm_startdate': '日常赎回起始日', 'market': 'E场内O场外'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_company(self,setup_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        公募基金公司
        https://tushare.pro/document/2?doc_id=118
        <参数>
        setup_date:str 成立日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        name:str 公司名称 Y
        shortname:str 简称 Y
        short_enname:str 英文缩写 N
        province:str 省份 Y
        city:str 城市 Y
        address:str 注册地址 Y
        phone:str 电话 Y
        office:str 办公地址 Y
        website:str 公司网址 Y
        chairman:str 法人代表 Y
        manager:str 总经理 Y
        reg_capital:float 注册资本 Y
        setup_date:str 成立日期 Y
        end_date:str 公司终止日期 Y
        employees:float 员工总数 Y
        main_business:str 主要产品及业务 Y
        org_code:str 组织机构代码 Y
        credit_code:str 统一社会信用代码 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'name' : 'str', 'shortname' : 'str', 'short_enname' : 'str', 'province' : 'str', 'city' : 'str', 'address' : 'str', 'phone' : 'str', 'office' : 'str', 'website' : 'str', 'chairman' : 'str', 'manager' : 'str', 'reg_capital' : 'float', 'setup_date' : 'str', 'end_date' : 'str', 'employees' : 'float', 'main_business' : 'str', 'org_code' : 'str', 'credit_code' : 'str'}
        column_name_dict = {'name': '公司名称', 'shortname': '简称', 'short_enname': '英文缩写', 'province': '省份', 'city': '城市', 'address': '注册地址', 'phone': '电话', 'office': '办公地址', 'website': '公司网址', 'chairman': '法人代表', 'manager': '总经理', 'reg_capital': '注册资本', 'setup_date': '成立日期', 'end_date': '公司终止日期', 'employees': '员工总数', 'main_business': '主要产品及业务', 'org_code': '组织机构代码', 'credit_code': '统一社会信用代码'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_company",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_manager(self,ts_code: str = None, ann_date: str = None, name: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        基金经理
        https://tushare.pro/document/2?doc_id=208
        <参数>
        ts_code:str 基金代码 N
        ann_date:str 公告日期 N
        name:str 基金经理姓名 N
        offset:int 开始行数 N
        limit:int 每页行数 N
        <返回结果>
        ts_code:str 基金代码 Y
        ann_date:str 公告日期 Y
        name:str 基金经理姓名 Y
        gender:str 性别 Y
        birth_year:str 出生年份 Y
        edu:str 学历 Y
        nationality:str 国籍 Y
        begin_date:str 任职日期 Y
        end_date:str 历任日期 Y
        resume:str 简历 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'name' : 'str', 'gender' : 'str', 'birth_year' : 'str', 'edu' : 'str', 'nationality' : 'str', 'begin_date' : 'str', 'end_date' : 'str', 'resume' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'name': '基金经理姓名', 'gender': '性别', 'birth_year': '出生年份', 'edu': '学历', 'nationality': '国籍', 'begin_date': '任职日期', 'end_date': '历任日期', 'resume': '简历'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_manager",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_share(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, market: str = None, fund_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        基金规模数据
        https://tushare.pro/document/2?doc_id=207
        <参数>
        ts_code:str TS基金代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        market:str 市场：SH/SZ N
        fund_type:str 类型 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 基金代码 Y
        trade_date:str 交易（变动）日期 Y
        fd_share:float 基金份额（万） Y
        total_share:float 合计份额（万） N
        fund_type:str 基金类型 Y
        market:str 市场 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'fd_share' : 'float', 'total_share' : 'float', 'fund_type' : 'str', 'market' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易变动日期', 'fd_share': '基金份额万', 'total_share': '合计份额万', 'fund_type': '基金类型', 'market': '市场'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_share",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_nav(self,ts_code: str = None, nav_date: str = None, offset: int = None, limit: int = None, market: str = None, start_date: str = None, end_date: str = None,fields:str='' )->Query:
        """
        公募基金净值
        https://tushare.pro/document/2?doc_id=119
        <参数>
        ts_code:str TS基金代码 N
        nav_date:str 净值日期 N
        offset:int  N
        limit:int  N
        market:str E场内O场外 N
        start_date:str 净值开始日期 N
        end_date:str 净值结束日期 N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 公告日期 Y
        nav_date:str 截止日期 Y
        unit_nav:float 单位净值 Y
        accum_nav:float 累计净值 Y
        accum_div:float 累计分红 Y
        net_asset:float 资产净值 Y
        total_netasset:float 合计资产净值 Y
        adj_nav:float 复权单位净值 Y
        update_flag:str 更新标识 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'nav_date' : 'str', 'unit_nav' : 'float', 'accum_nav' : 'float', 'accum_div' : 'float', 'net_asset' : 'float', 'total_netasset' : 'float', 'adj_nav' : 'float', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'nav_date': '截止日期', 'unit_nav': '单位净值', 'accum_nav': '累计净值', 'accum_div': '累计分红', 'net_asset': '资产净值', 'total_netasset': '合计资产净值', 'adj_nav': '复权单位净值', 'update_flag': '更新标识'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_nav",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_div(self,ann_date: str = None, ex_date: str = None, pay_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        公募基金分红
        https://tushare.pro/document/2?doc_id=120
        <参数>
        ann_date:str 公告日 N
        ex_date:str 公告日 N
        pay_date:str 公告日 N
        ts_code:str 公告日 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        ann_date:str 公告日期 Y
        imp_anndate:str 分红实施公告日 Y
        base_date:str 分配收益基准日 Y
        div_proc:str 方案进度 Y
        record_date:str 权益登记日 Y
        ex_date:str 除息日 Y
        pay_date:str 派息日 Y
        earpay_date:str 收益支付日 Y
        net_ex_date:str 净值除权日 Y
        div_cash:float 每股派息(元) Y
        base_unit:float 基准基金份额(万份) Y
        ear_distr:float 可分配收益(元) Y
        ear_amount:float 收益分配金额(元) Y
        account_date:str 红利再投资到账日 Y
        base_year:str 份额基准年度 Y
        update_flag:str 更新标识 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'imp_anndate' : 'str', 'base_date' : 'str', 'div_proc' : 'str', 'record_date' : 'str', 'ex_date' : 'str', 'pay_date' : 'str', 'earpay_date' : 'str', 'net_ex_date' : 'str', 'div_cash' : 'float', 'base_unit' : 'float', 'ear_distr' : 'float', 'ear_amount' : 'float', 'account_date' : 'str', 'base_year' : 'str', 'update_flag' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'imp_anndate': '分红实施公告日', 'base_date': '分配收益基准日', 'div_proc': '方案进度', 'record_date': '权益登记日', 'ex_date': '除息日', 'pay_date': '派息日', 'earpay_date': '收益支付日', 'net_ex_date': '净值除权日', 'div_cash': '每股派息元', 'base_unit': '基准基金份额万份', 'ear_distr': '可分配收益元', 'ear_amount': '收益分配金额元', 'account_date': '红利再投资到账日', 'base_year': '份额基准年度', 'update_flag': '更新标识'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_div",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_portfolio(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, period: str = None, symbol: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        公募基金持仓数据
        https://tushare.pro/document/2?doc_id=121
        <参数>
        ts_code:str 基金代码 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        period:str 报告期 N
        symbol:str 股票代码 N
        offset:int  N
        limit:int 单次返回数据长度 N
        <返回结果>
        ts_code:str TS基金代码 Y
        ann_date:str 公告日期 Y
        end_date:str 截止日期 Y
        symbol:str 股票代码 Y
        mkv:float 持有股票市值(元) Y
        amount:float 持有股票数量（股） Y
        stk_mkv_ratio:float 占股票市值比 Y
        stk_float_ratio:float 占流通股本比例 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'end_date' : 'str', 'symbol' : 'str', 'mkv' : 'float', 'amount' : 'float', 'stk_mkv_ratio' : 'float', 'stk_float_ratio' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '公告日期', 'end_date': '截止日期', 'symbol': '股票代码', 'mkv': '持有股票市值元', 'amount': '持有股票数量股', 'stk_mkv_ratio': '占股票市值比', 'stk_float_ratio': '占流通股本比例'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_portfolio",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_factor_pro(self,ts_code: str = None, start_date: str = None, end_date: str = None, trade_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        场内基金技术因子(专业版)
        https://tushare.pro/document/2?doc_id=359
        <参数>
        ts_code:str 基金代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        trade_date:str 交易日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 基金代码 Y
        trade_date:str 交易日期 Y
        trade_date_doris: 日期 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_change:float 涨跌幅 （未复权，如果是复权请用 通用行情接口 ） Y
        vol:float 成交量 （手） Y
        amount:float 成交额 （千元） Y
        asi_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asit_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        atr_bfq:float 真实波动N日平均值-CLOSE, HIGH, LOW, N=20 Y
        bbi_bfq:float BBI多空指标-CLOSE, M1=3, M2=6, M3=12, M4=20 Y
        bias1_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias2_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias3_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        boll_lower_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_mid_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_upper_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        brar_ar_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_br_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        cci_bfq:float 顺势指标又叫CCI指标-CLOSE, HIGH, LOW, N=14 Y
        cr_bfq:float CR价格动量指标-CLOSE, HIGH, LOW, N=20 Y
        dfma_dif_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_difma_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dmi_adx_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adxr_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_mdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_pdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        downdays:float 连跌天数 Y
        updays:float 连涨天数 Y
        dpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        madpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        ema_bfq_10:float 指数移动平均-N=10 Y
        ema_bfq_20:float 指数移动平均-N=20 Y
        ema_bfq_250:float 指数移动平均-N=250 Y
        ema_bfq_30:float 指数移动平均-N=30 Y
        ema_bfq_5:float 指数移动平均-N=5 Y
        ema_bfq_60:float 指数移动平均-N=60 Y
        ema_bfq_90:float 指数移动平均-N=90 Y
        emv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        maemv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        expma_12_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_50_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        kdj_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_d_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_k_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        ktn_down_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_mid_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_upper_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        lowdays:float LOWRANGE(LOW)表示当前最低价是近多少周期内最低价的最小值 Y
        topdays:float TOPRANGE(HIGH)表示当前最高价是近多少周期内最高价的最大值 Y
        ma_bfq_10:float 简单移动平均-N=10 Y
        ma_bfq_20:float 简单移动平均-N=20 Y
        ma_bfq_250:float 简单移动平均-N=250 Y
        ma_bfq_30:float 简单移动平均-N=30 Y
        ma_bfq_5:float 简单移动平均-N=5 Y
        ma_bfq_60:float 简单移动平均-N=60 Y
        ma_bfq_90:float 简单移动平均-N=90 Y
        macd_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dea_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dif_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        ma_mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        mfi_bfq:float MFI指标是成交量的RSI指标-CLOSE, HIGH, LOW, VOL, N=14 Y
        mtm_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtmma_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        obv_bfq:float 能量潮指标-CLOSE, VOL Y
        psy_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psyma_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        roc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        maroc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        rsi_bfq_12:float RSI指标-CLOSE, N=12 Y
        rsi_bfq_24:float RSI指标-CLOSE, N=24 Y
        rsi_bfq_6:float RSI指标-CLOSE, N=6 Y
        taq_down_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_mid_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_up_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        trix_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trma_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        vr_bfq:float VR容量比率-CLOSE, VOL, M1=26 Y
        wr_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr1_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        xsii_td1_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td2_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td3_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td4_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'trade_date_doris' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'asi_bfq' : 'float', 'asit_bfq' : 'float', 'atr_bfq' : 'float', 'bbi_bfq' : 'float', 'bias1_bfq' : 'float', 'bias2_bfq' : 'float', 'bias3_bfq' : 'float', 'boll_lower_bfq' : 'float', 'boll_mid_bfq' : 'float', 'boll_upper_bfq' : 'float', 'brar_ar_bfq' : 'float', 'brar_br_bfq' : 'float', 'cci_bfq' : 'float', 'cr_bfq' : 'float', 'dfma_dif_bfq' : 'float', 'dfma_difma_bfq' : 'float', 'dmi_adx_bfq' : 'float', 'dmi_adxr_bfq' : 'float', 'dmi_mdi_bfq' : 'float', 'dmi_pdi_bfq' : 'float', 'downdays' : 'float', 'updays' : 'float', 'dpo_bfq' : 'float', 'madpo_bfq' : 'float', 'ema_bfq_10' : 'float', 'ema_bfq_20' : 'float', 'ema_bfq_250' : 'float', 'ema_bfq_30' : 'float', 'ema_bfq_5' : 'float', 'ema_bfq_60' : 'float', 'ema_bfq_90' : 'float', 'emv_bfq' : 'float', 'maemv_bfq' : 'float', 'expma_12_bfq' : 'float', 'expma_50_bfq' : 'float', 'kdj_bfq' : 'float', 'kdj_d_bfq' : 'float', 'kdj_k_bfq' : 'float', 'ktn_down_bfq' : 'float', 'ktn_mid_bfq' : 'float', 'ktn_upper_bfq' : 'float', 'lowdays' : 'float', 'topdays' : 'float', 'ma_bfq_10' : 'float', 'ma_bfq_20' : 'float', 'ma_bfq_250' : 'float', 'ma_bfq_30' : 'float', 'ma_bfq_5' : 'float', 'ma_bfq_60' : 'float', 'ma_bfq_90' : 'float', 'macd_bfq' : 'float', 'macd_dea_bfq' : 'float', 'macd_dif_bfq' : 'float', 'mass_bfq' : 'float', 'ma_mass_bfq' : 'float', 'mfi_bfq' : 'float', 'mtm_bfq' : 'float', 'mtmma_bfq' : 'float', 'obv_bfq' : 'float', 'psy_bfq' : 'float', 'psyma_bfq' : 'float', 'roc_bfq' : 'float', 'maroc_bfq' : 'float', 'rsi_bfq_12' : 'float', 'rsi_bfq_24' : 'float', 'rsi_bfq_6' : 'float', 'taq_down_bfq' : 'float', 'taq_mid_bfq' : 'float', 'taq_up_bfq' : 'float', 'trix_bfq' : 'float', 'trma_bfq' : 'float', 'vr_bfq' : 'float', 'wr_bfq' : 'float', 'wr1_bfq' : 'float', 'xsii_td1_bfq' : 'float', 'xsii_td2_bfq' : 'float', 'xsii_td3_bfq' : 'float', 'xsii_td4_bfq' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'trade_date_doris': '日期', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_change': '涨跌幅未复权，如果是复权请用 通用行情接口 ', 'vol': '成交量手', 'amount': '成交额千元', 'asi_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asit_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'atr_bfq': '真实波动N日平均值-CLOSE,HIGH,LOW,N=20', 'bbi_bfq': 'BBI多空指标-CLOSE,M1=3,M2=6,M3=12,M4=20', 'bias1_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias2_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias3_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'boll_lower_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_mid_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_upper_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'brar_ar_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_br_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'cci_bfq': '顺势指标又叫CCI指标-CLOSE,HIGH,LOW,N=14', 'cr_bfq': 'CR价格动量指标-CLOSE,HIGH,LOW,N=20', 'dfma_dif_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_difma_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dmi_adx_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adxr_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_mdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_pdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'downdays': '连跌天数', 'updays': '连涨天数', 'dpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'madpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'ema_bfq_10': '指数移动平均-N=10', 'ema_bfq_20': '指数移动平均-N=20', 'ema_bfq_250': '指数移动平均-N=250', 'ema_bfq_30': '指数移动平均-N=30', 'ema_bfq_5': '指数移动平均-N=5', 'ema_bfq_60': '指数移动平均-N=60', 'ema_bfq_90': '指数移动平均-N=90', 'emv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'maemv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'expma_12_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_50_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'kdj_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_d_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_k_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'ktn_down_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_mid_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_upper_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'lowdays': 'LOWRANGELOW表示当前最低价是近多少周期内最低价的最小值', 'topdays': 'TOPRANGEHIGH表示当前最高价是近多少周期内最高价的最大值', 'ma_bfq_10': '简单移动平均-N=10', 'ma_bfq_20': '简单移动平均-N=20', 'ma_bfq_250': '简单移动平均-N=250', 'ma_bfq_30': '简单移动平均-N=30', 'ma_bfq_5': '简单移动平均-N=5', 'ma_bfq_60': '简单移动平均-N=60', 'ma_bfq_90': '简单移动平均-N=90', 'macd_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dea_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dif_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'ma_mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'mfi_bfq': 'MFI指标是成交量的RSI指标-CLOSE,HIGH,LOW,VOL,N=14', 'mtm_bfq': '动量指标-CLOSE,N=12,M=6', 'mtmma_bfq': '动量指标-CLOSE,N=12,M=6', 'obv_bfq': '能量潮指标-CLOSE,VOL', 'psy_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psyma_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'roc_bfq': '变动率指标-CLOSE,N=12,M=6', 'maroc_bfq': '变动率指标-CLOSE,N=12,M=6', 'rsi_bfq_12': 'RSI指标-CLOSE,N=12', 'rsi_bfq_24': 'RSI指标-CLOSE,N=24', 'rsi_bfq_6': 'RSI指标-CLOSE,N=6', 'taq_down_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_mid_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_up_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'trix_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trma_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'vr_bfq': 'VR容量比率-CLOSE,VOL,M1=26', 'wr_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr1_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'xsii_td1_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td2_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td3_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td4_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_factor_pro",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_basic(self,exchange: str = None, fut_type: str = None, ts_code: str = None, fut_code: str = None, list_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        期货合约信息表
        https://tushare.pro/document/2?doc_id=135
        <参数>
        exchange:str 交易所代码 N
        fut_type:str 合约类型 N
        ts_code:str 合约代码 N
        fut_code:str 标准合约代码 N
        list_date:str 上市日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        symbol:str 交易代码 Y
        exchange:str 交易市场 Y
        name:str 中文简称 Y
        fut_code:str 合约产品代码 Y
        multiplier:float 合约乘数 Y
        trade_unit:str 交易计量单位 Y
        per_unit:float 交易单位(每手) Y
        quote_unit:str 报价单位 Y
        quote_unit_desc:str 最小报价单位说明 Y
        d_mode_desc:str 交割方式说明 Y
        list_date:str 上市日期 Y
        delist_date:str 最后交易日期 Y
        d_month:str 交割月份 Y
        last_ddate:str 最后交割日 Y
        trade_time_desc:str 交易时间说明 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'symbol' : 'str', 'exchange' : 'str', 'name' : 'str', 'fut_code' : 'str', 'multiplier' : 'float', 'trade_unit' : 'str', 'per_unit' : 'float', 'quote_unit' : 'str', 'quote_unit_desc' : 'str', 'd_mode_desc' : 'str', 'list_date' : 'str', 'delist_date' : 'str', 'd_month' : 'str', 'last_ddate' : 'str', 'trade_time_desc' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'symbol': '交易代码', 'exchange': '交易市场', 'name': '中文简称', 'fut_code': '合约产品代码', 'multiplier': '合约乘数', 'trade_unit': '交易计量单位', 'per_unit': '交易单位每手', 'quote_unit': '报价单位', 'quote_unit_desc': '最小报价单位说明', 'd_mode_desc': '交割方式说明', 'list_date': '上市日期', 'delist_date': '最后交易日期', 'd_month': '交割月份', 'last_ddate': '最后交割日', 'trade_time_desc': '交易时间说明'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def trade_cal(self,exchange: str = None, cal_date: str = None, start_date: str = None, end_date: str = None, is_open: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        交易日历
        https://tushare.pro/document/2?doc_id=137
        <参数>
        exchange:str 交易所 SSE上交所 SZSE深交所 N
        cal_date:str 日历日期 N
        start_date:str  N
        end_date:str  N
        is_open:str 是否交易 0休市 1交易 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        exchange:str 交易所 SSE上交所 SZSE深交所 Y
        cal_date:str 日历日期 Y
        is_open:str 是否交易 0休市 1交易 Y
        pretrade_date:str 上一个交易日 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'exchange' : 'str', 'cal_date' : 'str', 'is_open' : 'str', 'pretrade_date' : 'str'}
        column_name_dict = {'exchange': '交易所SSE上交所SZSE深交所', 'cal_date': '日历日期', 'is_open': '是否交易0休市1交易', 'pretrade_date': '上一个交易日'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="trade_cal",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_weekly_monthly(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, freq: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        期货周/月线行情(每日更新)
        https://tushare.pro/document/2?doc_id=337
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        freq:str 频率week周，month月 Y
        exchange:str 交易所 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 期货代码 Y
        trade_date:str 交易日期 Y
        end_date:str 计算截止日期 Y
        freq:str 频率(周week,月month) Y
        open:float (周/月)开盘价 Y
        high:float (周/月)最高价 Y
        low:float (周/月)最低价 Y
        close:float (周/月)收盘价 Y
        pre_close:float 前一(周/月)收盘价 Y
        settle:float (周/月)结算价 Y
        pre_settle:float 前一(周/月)结算价 Y
        vol:float (周/月)成交量(手) Y
        amount:float (周/月)成交金额(万元) Y
        oi:float (周/月)持仓量(手) Y
        oi_chg:float (周/月)持仓量变化 Y
        exchange:str 交易所 Y
        change1:float (周/月)涨跌1 收盘价-昨结算价 Y
        change2:float (周/月)涨跌2 结算价-昨结算价 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'end_date' : 'str', 'freq' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'settle' : 'float', 'pre_settle' : 'float', 'vol' : 'float', 'amount' : 'float', 'oi' : 'float', 'oi_chg' : 'float', 'exchange' : 'str', 'change1' : 'float', 'change2' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'end_date': '计算截止日期', 'freq': '频率周week,月month', 'open': '周/月开盘价', 'high': '周/月最高价', 'low': '周/月最低价', 'close': '周/月收盘价', 'pre_close': '前一周/月收盘价', 'settle': '周/月结算价', 'pre_settle': '前一周/月结算价', 'vol': '周/月成交量手', 'amount': '周/月成交金额万元', 'oi': '周/月持仓量手', 'oi_chg': '周/月持仓量变化', 'exchange': '交易所', 'change1': '周/月涨跌1收盘价-昨结算价', 'change2': '周/月涨跌2结算价-昨结算价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_weekly_monthly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_daily(self,trade_date: str = None, ts_code: str = None, exchange: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        期货日线行情
        https://tushare.pro/document/2?doc_id=138
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 合约代码 N
        exchange:str 交易所代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 交易代码 Y
        pre_close:float 昨收盘价 Y
        pre_settle:float 昨结算价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        settle:float 结算价 Y
        change1:float 涨跌1,收盘价-昨结算价 Y
        change2:float 涨跌2,结算价-昨结算价 Y
        vol:float 成交量(手) Y
        amount:float 成交金额(万元) Y
        oi:float 持仓量(手) Y
        oi_chg:float 持仓量变化 Y
        delv_settle:float 交割结算价 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'pre_close' : 'float', 'pre_settle' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'settle' : 'float', 'change1' : 'float', 'change2' : 'float', 'vol' : 'float', 'amount' : 'float', 'oi' : 'float', 'oi_chg' : 'float', 'delv_settle' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易代码', 'pre_close': '昨收盘价', 'pre_settle': '昨结算价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'settle': '结算价', 'change1': '涨跌1,收盘价-昨结算价', 'change2': '涨跌2,结算价-昨结算价', 'vol': '成交量手', 'amount': '成交金额万元', 'oi': '持仓量手', 'oi_chg': '持仓量变化', 'delv_settle': '交割结算价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ft_mins(self,ts_code: str = None, freq: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        期货分钟es
        https://tushare.pro/document/2?doc_id=313
        <参数>
        ts_code:str ts_code N
        freq:str 分钟频度 
        start_date:datetime 开始时间 N
        end_date:datetime 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        trade_time:str  Y
        open:float  Y
        close:float  Y
        high:float  Y
        low:float  Y
        vol:float  Y
        amount:float  Y
        oi:float  Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_time' : 'str', 'open' : 'float', 'close' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float', 'oi' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_time': '', 'open': '', 'close': '', 'high': '', 'low': '', 'vol': '', 'amount': '', 'oi': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ft_mins",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def rt_fut_min(self,topic: str = None, freq: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        最新行情-期货-分钟
        https://tushare.pro/document/2?doc_id=340
        <参数>
        topic:str 主题 N
        freq:str 分钟类型 Y
        ts_code:str 证券代码 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        code:str 基金代码 Y
        freq: 起始交易日期 Y
        time: 截止交易日期 Y
        open:float 信息比率 Y
        close:float 信息比率 Y
        high:float 信息比率 Y
        low:float 信息比率 Y
        vol:float 信息比率 Y
        amount:float 信息比率 Y
        oi:float 信息比率 Y
        trade_date:date 结算日 N
        action_date:date 交易日 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'code' : 'str', 'freq' : 'str', 'time' : 'str', 'open' : 'float', 'close' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float', 'oi' : 'float', 'trade_date' : 'str', 'action_date' : 'str'}
        column_name_dict = {'code': '基金代码', 'freq': '起始交易日期', 'time': '截止交易日期', 'open': '信息比率', 'close': '信息比率', 'high': '信息比率', 'low': '信息比率', 'vol': '信息比率', 'amount': '信息比率', 'oi': '信息比率', 'trade_date': '结算日', 'action_date': '交易日'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="rt_fut_min",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_wsr(self,trade_date: str = None, symbol: str = None, start_date: str = None, end_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        仓单日报
        https://tushare.pro/document/2?doc_id=140
        <参数>
        trade_date:str 交易日期 N
        symbol:str 产品代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        exchange:str 交易所代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        symbol:str 产品代码 Y
        fut_name:str 产品名称 Y
        warehouse:str 仓库名称 Y
        wh_id:str 仓库编号 N
        pre_vol:int 昨日仓单量 Y
        vol:int 今日仓单量 Y
        vol_chg:int 增减量 Y
        area:str 地区 N
        year:str 年度 N
        grade:str 等级 N
        brand:str 品牌 N
        place:str 产地 N
        pd:int 升贴水 N
        is_ct:str 是否折算仓单 N
        unit:str 单位 Y
        exchange:str 交易所 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'symbol' : 'str', 'fut_name' : 'str', 'warehouse' : 'str', 'wh_id' : 'str', 'pre_vol' : 'int', 'vol' : 'int', 'vol_chg' : 'int', 'area' : 'str', 'year' : 'str', 'grade' : 'str', 'brand' : 'str', 'place' : 'str', 'pd' : 'int', 'is_ct' : 'str', 'unit' : 'str', 'exchange' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'symbol': '产品代码', 'fut_name': '产品名称', 'warehouse': '仓库名称', 'wh_id': '仓库编号', 'pre_vol': '昨日仓单量', 'vol': '今日仓单量', 'vol_chg': '增减量', 'area': '地区', 'year': '年度', 'grade': '等级', 'brand': '品牌', 'place': '产地', 'pd': '升贴水', 'is_ct': '是否折算仓单', 'unit': '单位', 'exchange': '交易所'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_wsr",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_settle(self,trade_date: str = None, ts_code: str = None, start_date: str = None, end_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        结算参数
        https://tushare.pro/document/2?doc_id=141
        <参数>
        trade_date:str 交易日期 N
        ts_code:str 合约代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        exchange:str 交易所代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 合约代码 Y
        trade_date:str 交易日期 Y
        settle:float 结算价 Y
        trading_fee_rate:float 交易手续费率 Y
        trading_fee:float 交易手续费 Y
        delivery_fee:float 交割手续费 Y
        b_hedging_margin_rate:float 买套保交易保证金率 Y
        s_hedging_margin_rate:float 卖套保交易保证金率 Y
        long_margin_rate:float 买投机交易保证金率 Y
        short_margin_rate:float 卖投机交易保证金率 Y
        offset_today_fee:float 平今仓手续率 N
        exchange:str 交易所 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'settle' : 'float', 'trading_fee_rate' : 'float', 'trading_fee' : 'float', 'delivery_fee' : 'float', 'b_hedging_margin_rate' : 'float', 's_hedging_margin_rate' : 'float', 'long_margin_rate' : 'float', 'short_margin_rate' : 'float', 'offset_today_fee' : 'float', 'exchange' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'settle': '结算价', 'trading_fee_rate': '交易手续费率', 'trading_fee': '交易手续费', 'delivery_fee': '交割手续费', 'b_hedging_margin_rate': '买套保交易保证金率', 's_hedging_margin_rate': '卖套保交易保证金率', 'long_margin_rate': '买投机交易保证金率', 'short_margin_rate': '卖投机交易保证金率', 'offset_today_fee': '平今仓手续率', 'exchange': '交易所'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_settle",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_holding(self,trade_date: str = None, symbol: str = None, start_date: str = None, end_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        每日成交持仓排名
        https://tushare.pro/document/2?doc_id=139
        <参数>
        trade_date:str 交易日期 N
        symbol:str 合约或产品代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        exchange:str 交易所代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        symbol:str 合约代码或类型 Y
        broker:str 期货公司会员简称 Y
        vol:int 成交量 Y
        vol_chg:int 成交量变化 Y
        long_hld:int 持买仓量 Y
        long_chg:int 持买仓量变化 Y
        short_hld:int 持卖仓量 Y
        short_chg:int 持卖仓量变化 Y
        exchange:str 交易所 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'symbol' : 'str', 'broker' : 'str', 'vol' : 'int', 'vol_chg' : 'int', 'long_hld' : 'int', 'long_chg' : 'int', 'short_hld' : 'int', 'short_chg' : 'int', 'exchange' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'symbol': '合约代码或类型', 'broker': '期货公司会员简称', 'vol': '成交量', 'vol_chg': '成交量变化', 'long_hld': '持买仓量', 'long_chg': '持买仓量变化', 'short_hld': '持卖仓量', 'short_chg': '持卖仓量变化', 'exchange': '交易所'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_holding",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def index_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        指数日线行情
        https://tushare.pro/document/2?doc_id=155
        <参数>
        ts_code:str 指数代码 Y
        trade_date:str 交易日期(格式：YYYYMMDD，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        trade_date:datetime  Y
        close:float  Y
        open:float  Y
        high:float  Y
        low:float  Y
        pre_close:float  Y
        change:float  Y
        pct_chg:float  Y
        vol:float  Y
        amount:float  Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '', 'close': '', 'open': '', 'high': '', 'low': '', 'pre_close': '', 'change': '', 'pct_chg': '', 'vol': '', 'amount': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="index_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_mapping(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        期货主力与连续合约
        https://tushare.pro/document/2?doc_id=189
        <参数>
        ts_code:str 合约代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 连续合约代码 Y
        trade_date:str 起始日期 Y
        mapping_ts_code:str 期货合约代码 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'mapping_ts_code' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '起始日期', 'mapping_ts_code': '期货合约代码'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_mapping",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fut_weekly_detail(self,week: str = None, prd: str = None, start_week: str = None, end_week: str = None, exchange: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        期货主要品种交易周报
        https://tushare.pro/document/2?doc_id=216
        <参数>
        week:str 周期 N
        prd:str 期货品种 N
        start_week:str 开始周期 N
        end_week:str 结束周期 N
        exchange:str 交易所 N
        offset:int  N
        limit:int  N
        <返回结果>
        exchange:str 交易所代码 Y
        prd:str 期货品种代码 Y
        name:str 品种名称 Y
        vol:int 成交量（手） Y
        vol_yoy:float 同比增减（%） Y
        amount:float 成交金额（亿元） Y
        amout_yoy:float 同比增减（%） Y
        cumvol:int 年累计成交总量（手） Y
        cumvol_yoy:float 同比增减（%） Y
        cumamt:float 年累计成交金额（亿元） Y
        cumamt_yoy:float 同比增减（%） Y
        open_interest:int 持仓量（手） Y
        interest_wow:float 环比增减（%） Y
        mc_close:float 本周主力合约收盘价 Y
        close_wow:float 环比涨跌（%） Y
        week:str 周期 Y
        week_date:str 周日期 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'exchange' : 'str', 'prd' : 'str', 'name' : 'str', 'vol' : 'int', 'vol_yoy' : 'float', 'amount' : 'float', 'amout_yoy' : 'float', 'cumvol' : 'int', 'cumvol_yoy' : 'float', 'cumamt' : 'float', 'cumamt_yoy' : 'float', 'open_interest' : 'int', 'interest_wow' : 'float', 'mc_close' : 'float', 'close_wow' : 'float', 'week' : 'str', 'week_date' : 'str'}
        column_name_dict = {'exchange': '交易所代码', 'prd': '期货品种代码', 'name': '品种名称', 'vol': '成交量手', 'vol_yoy': '同比增减百分比', 'amount': '成交金额亿元', 'amout_yoy': '同比增减百分比', 'cumvol': '年累计成交总量手', 'cumvol_yoy': '同比增减百分比', 'cumamt': '年累计成交金额亿元', 'cumamt_yoy': '同比增减百分比', 'open_interest': '持仓量手', 'interest_wow': '环比增减百分比', 'mc_close': '本周主力合约收盘价', 'close_wow': '环比涨跌百分比', 'week': '周期', 'week_date': '周日期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fut_weekly_detail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ft_limit(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, cont: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        合约涨跌停价格（盘前）
        https://tushare.pro/document/2?doc_id=368
        <参数>
        ts_code:str 合约代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        cont:str 合约代码（例如：cont='CU') N
        exchange:str 交易所代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str TS股票代码 Y
        name:str 合约名称 Y
        up_limit:float 涨停价 Y
        down_limit:float 跌停价 Y
        m_ratio:float 最低交易保证金率 Y
        cont:str 合约代码 Y
        exchange:str 交易所代码 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'up_limit' : 'float', 'down_limit' : 'float', 'm_ratio' : 'float', 'cont' : 'str', 'exchange' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '合约名称', 'up_limit': '涨停价', 'down_limit': '跌停价', 'm_ratio': '最低交易保证金率', 'cont': '合约代码', 'exchange': '交易所代码'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ft_limit",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def sge_basic(self,ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        黄金现货基础信息
        https://tushare.pro/document/2?doc_id=284
        <参数>
        ts_code:str 合约代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 品种代码 Y
        ts_name:str 品种名称 Y
        trade_type:str 交易类型 Y
        t_unit:float 交易单位(克/手) Y
        p_unit:float 报价单位 Y
        min_change:float 最小变动价位 Y
        price_limit:float 每日价格最大波动限制 Y
        min_vol:int 最小单笔报价量(手) Y
        max_vol:int 最大单笔报价量(手) Y
        trade_mode:str 交易期限 Y
        margin_rate:float 保证金比例 Y
        liq_rate:float 违约金比例(%) Y
        trade_time:str 交易时间 Y
        list_date:str 上市日期	 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ts_name' : 'str', 'trade_type' : 'str', 't_unit' : 'float', 'p_unit' : 'float', 'min_change' : 'float', 'price_limit' : 'float', 'min_vol' : 'int', 'max_vol' : 'int', 'trade_mode' : 'str', 'margin_rate' : 'float', 'liq_rate' : 'float', 'trade_time' : 'str', 'list_date' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'ts_name': '品种名称', 'trade_type': '交易类型', 't_unit': '交易单位克/手', 'p_unit': '报价单位', 'min_change': '最小变动价位', 'price_limit': '每日价格最大波动限制', 'min_vol': '最小单笔报价量手', 'max_vol': '最大单笔报价量手', 'trade_mode': '交易期限', 'margin_rate': '保证金比例', 'liq_rate': '违约金比例百分比', 'trade_time': '交易时间', 'list_date': '上市日期	'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="sge_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def sge_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        现货黄金日行情
        https://tushare.pro/document/2?doc_id=285
        <参数>
        ts_code:str 合约代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 现货合约代码 Y
        trade_date:str 交易日 Y
        close:float 收盘点位 Y
        open:float 开盘点位 Y
        high:float 最高点位 Y
        low:float 最低点位 Y
        price_avg:float 昨日收盘点 Y
        change:float 涨跌点位 Y
        pct_change:float 涨跌幅 Y
        vol:float 成交量 Y
        amount:float 成交金额 Y
        oi:float 持仓量 Y
        settle_vol:float 交收量 Y
        settle_dire:str 持仓方向 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'price_avg' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'oi' : 'float', 'settle_vol' : 'float', 'settle_dire' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日', 'close': '收盘点位', 'open': '开盘点位', 'high': '最高点位', 'low': '最低点位', 'price_avg': '昨日收盘点', 'change': '涨跌点位', 'pct_change': '涨跌幅', 'vol': '成交量', 'amount': '成交金额', 'oi': '持仓量', 'settle_vol': '交收量', 'settle_dire': '持仓方向'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="sge_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def opt_basic(self,ts_code: str = None, exchange: str = None, opt_code: str = None, call_put: str = None, name: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        期权合约信息
        https://tushare.pro/document/2?doc_id=158
        <参数>
        ts_code:str TSCODE N
        exchange:str 交易所代码 N
        opt_code:str 标准合约代码 N
        call_put:str 期权类型 N
        name:str 合约名称 N
        offset:int  N
        limit:int  N
        <返回结果>
        ts_code:str TS代码 Y
        exchange:str 交易市场 Y
        name:str 合约名称 Y
        per_unit:float 合约单位 Y
        opt_code:str 标准合约代码 Y
        opt_type:str 合约类型 Y
        call_put:str 期权类型 Y
        exercise_type:str 行权方式 Y
        exercise_price:float 行权价格 Y
        s_month:str 结算月 Y
        maturity_date:str 到期日 Y
        list_price:float 挂牌基准价 Y
        list_date:str 开始交易日期 Y
        delist_date:str 最后交易日期 Y
        last_edate:str 最后行权日期 Y
        last_ddate:str 最后交割日期 Y
        quote_unit:str 报价单位 Y
        min_price_chg:str 最小价格波幅 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'exchange' : 'str', 'name' : 'str', 'per_unit' : 'float', 'opt_code' : 'str', 'opt_type' : 'str', 'call_put' : 'str', 'exercise_type' : 'str', 'exercise_price' : 'float', 's_month' : 'str', 'maturity_date' : 'str', 'list_price' : 'float', 'list_date' : 'str', 'delist_date' : 'str', 'last_edate' : 'str', 'last_ddate' : 'str', 'quote_unit' : 'str', 'min_price_chg' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'exchange': '交易市场', 'name': '合约名称', 'per_unit': '合约单位', 'opt_code': '标准合约代码', 'opt_type': '合约类型', 'call_put': '期权类型', 'exercise_type': '行权方式', 'exercise_price': '行权价格', 's_month': '结算月', 'maturity_date': '到期日', 'list_price': '挂牌基准价', 'list_date': '开始交易日期', 'delist_date': '最后交易日期', 'last_edate': '最后行权日期', 'last_ddate': '最后交割日期', 'quote_unit': '报价单位', 'min_price_chg': '最小价格波幅'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="opt_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def opt_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        期权日线行情
        https://tushare.pro/document/2?doc_id=159
        <参数>
        ts_code:str TS合约代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        exchange:str 交易所 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 交易日期 Y
        exchange:str 交易市场 Y
        pre_settle:float 昨结算价 Y
        pre_close:float 前收盘价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        settle:float 结算价 Y
        vol:float 成交量(手) Y
        amount:float 成交金额(万元) Y
        oi:float 持仓量(手) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'exchange' : 'str', 'pre_settle' : 'float', 'pre_close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'settle' : 'float', 'vol' : 'float', 'amount' : 'float', 'oi' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'exchange': '交易市场', 'pre_settle': '昨结算价', 'pre_close': '前收盘价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'settle': '结算价', 'vol': '成交量手', 'amount': '成交金额万元', 'oi': '持仓量手'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="opt_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def opt_mins(self,ts_code: str = None, freq: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        期权分钟
        https://tushare.pro/document/2?doc_id=341
        <参数>
        ts_code:str ts_code Y
        freq:str 分钟频度 Y
        start_date:datetime  N
        end_date:datetime 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        trade_time:str  Y
        open:float  Y
        close:float  Y
        high:float  Y
        low:float  Y
        vol:int  Y
        amount:float  Y
        oi:float 持仓量 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_time' : 'str', 'open' : 'float', 'close' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'int', 'amount' : 'float', 'oi' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_time': '', 'open': '', 'close': '', 'high': '', 'low': '', 'vol': '', 'amount': '', 'oi': '持仓量'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="opt_mins",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_basic(self,ts_code: str = None, list_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债基本信息
        https://tushare.pro/document/2?doc_id=185
        <参数>
        ts_code:str 转债代码 N
        list_date:str 上市日期 N
        exchange:str 上市地点 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 转债代码 Y
        bond_full_name:str 转债名称 Y
        bond_short_name:str 转债简称 Y
        cb_code:str 转股申报代码 Y
        stk_code:str 正股代码 Y
        stk_short_name:str 正股简称 Y
        maturity:float 发行期限（年） Y
        par:float 面值 Y
        issue_price:float 发行价格 Y
        issue_size:float 发行总额（元） Y
        remain_size:float 债券余额（元） Y
        value_date:str 起息日期 Y
        maturity_date:str 到期日期 Y
        rate_type:str 利率类型 Y
        coupon_rate:float 票面利率（%） Y
        add_rate:float 补偿利率（%） Y
        pay_per_year:int 年付息次数 Y
        list_date:str 上市日期 Y
        delist_date:str 摘牌日 Y
        exchange:str 上市地点 Y
        conv_start_date:str 转股起始日 Y
        conv_end_date:str 转股截止日 Y
        conv_stop_date:str 停止转股日(提前到期) Y
        first_conv_price:float 初始转股价 Y
        conv_price:float 最新转股价 Y
        rate_clause:str 利率说明 Y
        put_clause:str 赎回条款 N
        maturity_put_price:float 到期赎回价格(含税) N
        call_clause:str 回售条款 N
        reset_clause:str 特别向下修正条款 N
        conv_clause:str 转股条款 N
        guarantor:str 担保人 N
        guarantee_type:str 担保方式 N
        issue_rating:str 发行信用等级 N
        newest_rating:str 最新信用等级 N
        rating_comp:str 最新评级机构 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'bond_full_name' : 'str', 'bond_short_name' : 'str', 'cb_code' : 'str', 'stk_code' : 'str', 'stk_short_name' : 'str', 'maturity' : 'float', 'par' : 'float', 'issue_price' : 'float', 'issue_size' : 'float', 'remain_size' : 'float', 'value_date' : 'str', 'maturity_date' : 'str', 'rate_type' : 'str', 'coupon_rate' : 'float', 'add_rate' : 'float', 'pay_per_year' : 'int', 'list_date' : 'str', 'delist_date' : 'str', 'exchange' : 'str', 'conv_start_date' : 'str', 'conv_end_date' : 'str', 'conv_stop_date' : 'str', 'first_conv_price' : 'float', 'conv_price' : 'float', 'rate_clause' : 'str', 'put_clause' : 'str', 'maturity_put_price' : 'float', 'call_clause' : 'str', 'reset_clause' : 'str', 'conv_clause' : 'str', 'guarantor' : 'str', 'guarantee_type' : 'str', 'issue_rating' : 'str', 'newest_rating' : 'str', 'rating_comp' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'bond_full_name': '转债名称', 'bond_short_name': '转债简称', 'cb_code': '转股申报代码', 'stk_code': '正股代码', 'stk_short_name': '正股简称', 'maturity': '发行期限年', 'par': '面值', 'issue_price': '发行价格', 'issue_size': '发行总额元', 'remain_size': '债券余额元', 'value_date': '起息日期', 'maturity_date': '到期日期', 'rate_type': '利率类型', 'coupon_rate': '票面利率百分比', 'add_rate': '补偿利率百分比', 'pay_per_year': '年付息次数', 'list_date': '上市日期', 'delist_date': '摘牌日', 'exchange': '上市地点', 'conv_start_date': '转股起始日', 'conv_end_date': '转股截止日', 'conv_stop_date': '停止转股日提前到期', 'first_conv_price': '初始转股价', 'conv_price': '最新转股价', 'rate_clause': '利率说明', 'put_clause': '赎回条款', 'maturity_put_price': '到期赎回价格含税', 'call_clause': '回售条款', 'reset_clause': '特别向下修正条款', 'conv_clause': '转股条款', 'guarantor': '担保人', 'guarantee_type': '担保方式', 'issue_rating': '发行信用等级', 'newest_rating': '最新信用等级', 'rating_comp': '最新评级机构'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_call(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债赎回信息
        https://tushare.pro/document/2?doc_id=269
        <参数>
        ts_code:str 转债代码，支持多值输入 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 转债代码 Y
        call_type:str 赎回类型：到赎、强赎 Y
        is_call:str 是否赎回：公告到期赎回、公告强赎、公告不强赎 Y
        ann_date:str 公告日期 Y
        call_date:str 赎回日期 Y
        call_price:float 赎回价格(含税，元/张) Y
        call_price_tax:float 赎回价格(扣税，元/张) Y
        call_vol:float 赎回债券数量(张) Y
        call_amount:float 赎回金额(万元) Y
        payment_date:str 行权后款项到账日 Y
        call_reg_date:str 赎回登记日 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'call_type' : 'str', 'is_call' : 'str', 'ann_date' : 'str', 'call_date' : 'str', 'call_price' : 'float', 'call_price_tax' : 'float', 'call_vol' : 'float', 'call_amount' : 'float', 'payment_date' : 'str', 'call_reg_date' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'call_type': '赎回类型：到赎、强赎', 'is_call': '是否赎回：公告到期赎回、公告强赎、公告不强赎', 'ann_date': '公告日期', 'call_date': '赎回日期', 'call_price': '赎回价格含税，元/张', 'call_price_tax': '赎回价格扣税，元/张', 'call_vol': '赎回债券数量张', 'call_amount': '赎回金额万元', 'payment_date': '行权后款项到账日', 'call_reg_date': '赎回登记日'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_call",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_rate(self,ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债票面利率
        https://tushare.pro/document/2?doc_id=305
        <参数>
        ts_code:str 转债代码，支持多值输入 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 转债代码 Y
        rate_freq:int 付息频率(次/年) N
        rate_start_date:str 纯债价值 N
        rate_end_date:str 纯债溢价率（%） N
        coupon_rate:float 票面利率(%) N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'rate_freq' : 'int', 'rate_start_date' : 'str', 'rate_end_date' : 'str', 'coupon_rate' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'rate_freq': '付息频率次/年', 'rate_start_date': '纯债价值', 'rate_end_date': '纯债溢价率百分比', 'coupon_rate': '票面利率百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_rate",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_issue(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债发行
        https://tushare.pro/document/2?doc_id=186
        <参数>
        ts_code:str TS代码 N
        ann_date:str 发行公告日 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 转债代码 Y
        ann_date:str 发行公告日 Y
        res_ann_date:str 发行结果公告日 Y
        plan_issue_size:float 计划发行总额（元） Y
        issue_size:float 发行总额（元） Y
        issue_price:float 发行价格 Y
        issue_type:str 发行方式 Y
        issue_cost:float 发行费用（元） N
        onl_code:str 网上申购代码 Y
        onl_name:str 网上申购简称 Y
        onl_date:str 网上发行日期 Y
        onl_size:float 网上发行总额（元） Y
        onl_pch_vol:float 网上发行有效申购数量（张） Y
        onl_pch_num:int 网上发行有效申购户数 Y
        onl_pch_excess:float 网上发行超额认购倍数 Y
        onl_winning_rate:float 网上发行中签率（%） N
        shd_ration_code:str 老股东配售代码 Y
        shd_ration_name:str 老股东配售简称 Y
        shd_ration_date:str 老股东配售日 Y
        shd_ration_record_date:str 老股东配售股权登记日 Y
        shd_ration_pay_date:str 老股东配售缴款日 Y
        shd_ration_price:float 老股东配售价格 Y
        shd_ration_ratio:float 老股东配售比例 Y
        shd_ration_size:float 老股东配售数量（张） Y
        shd_ration_vol:float 老股东配售有效申购数量（张） N
        shd_ration_num:int 老股东配售有效申购户数 N
        shd_ration_excess:float 老股东配售超额认购倍数 N
        offl_size:float 网下发行总额（元） Y
        offl_deposit:float 网下发行定金比例（%） N
        offl_pch_vol:float 网下发行有效申购数量（张） N
        offl_pch_num:int 网下发行有效申购户数 N
        offl_pch_excess:float 网下发行超额认购倍数 N
        offl_winning_rate:float 网下发行中签率 N
        lead_underwriter:str 主承销商 N
        lead_underwriter_vol:float 主承销商包销数量（张） N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'ann_date' : 'str', 'res_ann_date' : 'str', 'plan_issue_size' : 'float', 'issue_size' : 'float', 'issue_price' : 'float', 'issue_type' : 'str', 'issue_cost' : 'float', 'onl_code' : 'str', 'onl_name' : 'str', 'onl_date' : 'str', 'onl_size' : 'float', 'onl_pch_vol' : 'float', 'onl_pch_num' : 'int', 'onl_pch_excess' : 'float', 'onl_winning_rate' : 'float', 'shd_ration_code' : 'str', 'shd_ration_name' : 'str', 'shd_ration_date' : 'str', 'shd_ration_record_date' : 'str', 'shd_ration_pay_date' : 'str', 'shd_ration_price' : 'float', 'shd_ration_ratio' : 'float', 'shd_ration_size' : 'float', 'shd_ration_vol' : 'float', 'shd_ration_num' : 'int', 'shd_ration_excess' : 'float', 'offl_size' : 'float', 'offl_deposit' : 'float', 'offl_pch_vol' : 'float', 'offl_pch_num' : 'int', 'offl_pch_excess' : 'float', 'offl_winning_rate' : 'float', 'lead_underwriter' : 'str', 'lead_underwriter_vol' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'ann_date': '发行公告日', 'res_ann_date': '发行结果公告日', 'plan_issue_size': '计划发行总额元', 'issue_size': '发行总额元', 'issue_price': '发行价格', 'issue_type': '发行方式', 'issue_cost': '发行费用元', 'onl_code': '网上申购代码', 'onl_name': '网上申购简称', 'onl_date': '网上发行日期', 'onl_size': '网上发行总额元', 'onl_pch_vol': '网上发行有效申购数量张', 'onl_pch_num': '网上发行有效申购户数', 'onl_pch_excess': '网上发行超额认购倍数', 'onl_winning_rate': '网上发行中签率百分比', 'shd_ration_code': '老股东配售代码', 'shd_ration_name': '老股东配售简称', 'shd_ration_date': '老股东配售日', 'shd_ration_record_date': '老股东配售股权登记日', 'shd_ration_pay_date': '老股东配售缴款日', 'shd_ration_price': '老股东配售价格', 'shd_ration_ratio': '老股东配售比例', 'shd_ration_size': '老股东配售数量张', 'shd_ration_vol': '老股东配售有效申购数量张', 'shd_ration_num': '老股东配售有效申购户数', 'shd_ration_excess': '老股东配售超额认购倍数', 'offl_size': '网下发行总额元', 'offl_deposit': '网下发行定金比例百分比', 'offl_pch_vol': '网下发行有效申购数量张', 'offl_pch_num': '网下发行有效申购户数', 'offl_pch_excess': '网下发行超额认购倍数', 'offl_winning_rate': '网下发行中签率', 'lead_underwriter': '主承销商', 'lead_underwriter_vol': '主承销商包销数量张'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_issue",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债行情
        https://tushare.pro/document/2?doc_id=187
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 转债代码 Y
        trade_date:str 交易日期 Y
        pre_close:float 昨收盘价(元) Y
        open:float 开盘价(元) Y
        high:float 最高价(元) Y
        low:float 最低价(元) Y
        close:float 收盘价(元) Y
        change:float 涨跌(元) Y
        pct_chg:float 涨跌幅(%) Y
        vol:float 成交量(手) Y
        amount:float 成交金额(万元) Y
        bond_value:float 纯债价值 N
        bond_over_rate:float 纯债溢价率(%) N
        cb_value:float 转股价值 N
        cb_over_rate:float 转股溢价率(%) N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'pre_close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float', 'bond_value' : 'float', 'bond_over_rate' : 'float', 'cb_value' : 'float', 'cb_over_rate' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'pre_close': '昨收盘价元', 'open': '开盘价元', 'high': '最高价元', 'low': '最低价元', 'close': '收盘价元', 'change': '涨跌元', 'pct_chg': '涨跌幅百分比', 'vol': '成交量手', 'amount': '成交金额万元', 'bond_value': '纯债价值', 'bond_over_rate': '纯债溢价率百分比', 'cb_value': '转股价值', 'cb_over_rate': '转股溢价率百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_factor_pro(self,ts_code: str = None, start_date: str = None, end_date: str = None, trade_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债技术因子(专业版)
        https://tushare.pro/document/2?doc_id=392
        <参数>
        ts_code:str 可转债代码 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        trade_date:str 交易日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 转债代码 Y
        trade_date:str 交易日期 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_change:float 涨跌幅 （未复权，如果是复权请用 通用行情接口 ） Y
        vol:float 成交量 （手） Y
        amount:float 成交金额(万元) Y
        asi_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        asit_bfq:float 振动升降指标-OPEN, CLOSE, HIGH, LOW, M1=26, M2=10 Y
        atr_bfq:float 真实波动N日平均值-CLOSE, HIGH, LOW, N=20 Y
        bbi_bfq:float BBI多空指标-CLOSE, M1=3, M2=6, M3=12, M4=20 Y
        bias1_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias2_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        bias3_bfq:float BIAS乖离率-CLOSE, L1=6, L2=12, L3=24 Y
        boll_lower_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_mid_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        boll_upper_bfq:float BOLL指标，布林带-CLOSE, N=20, P=2 Y
        brar_ar_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        brar_br_bfq:float  BRAR情绪指标-OPEN, CLOSE, HIGH, LOW, M1=26 Y
        cci_bfq:float 顺势指标又叫CCI指标-CLOSE, HIGH, LOW, N=14 Y
        cr_bfq:float CR价格动量指标-CLOSE, HIGH, LOW, N=20 Y
        dfma_dif_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dfma_difma_bfq:float 平行线差指标-CLOSE, N1=10, N2=50, M=10 Y
        dmi_adx_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_adxr_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_mdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        dmi_pdi_bfq:float  动向指标-CLOSE, HIGH, LOW, M1=14, M2=6 Y
        downdays:float 连跌天数 Y
        updays:float 连涨天数 Y
        dpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        madpo_bfq:float 区间震荡线-CLOSE, M1=20, M2=10, M3=6 Y
        ema_bfq_10:float 指数移动平均-N=10 Y
        ema_bfq_20:float 指数移动平均-N=20 Y
        ema_bfq_250:float 指数移动平均-N=250 Y
        ema_bfq_30:float 指数移动平均-N=30 Y
        ema_bfq_5:float 指数移动平均-N=5 Y
        ema_bfq_60:float 指数移动平均-N=60 Y
        ema_bfq_90:float 指数移动平均-N=90 Y
        emv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        maemv_bfq:float 简易波动指标-HIGH, LOW, VOL, N=14, M=9 Y
        expma_12_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        expma_50_bfq:float EMA指数平均数指标-CLOSE, N1=12, N2=50 Y
        kdj_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_d_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        kdj_k_bfq:float KDJ指标-CLOSE, HIGH, LOW, N=9, M1=3, M2=3 Y
        ktn_down_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_mid_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        ktn_upper_bfq:float 肯特纳交易通道, N选20日，ATR选10日-CLOSE, HIGH, LOW, N=20, M=10 Y
        lowdays:float LOWRANGE(LOW)表示当前最低价是近多少周期内最低价的最小值 Y
        topdays:float TOPRANGE(HIGH)表示当前最高价是近多少周期内最高价的最大值 Y
        ma_bfq_10:float 简单移动平均-N=10 Y
        ma_bfq_20:float 简单移动平均-N=20 Y
        ma_bfq_250:float 简单移动平均-N=250 Y
        ma_bfq_30:float 简单移动平均-N=30 Y
        ma_bfq_5:float 简单移动平均-N=5 Y
        ma_bfq_60:float 简单移动平均-N=60 Y
        ma_bfq_90:float 简单移动平均-N=90 Y
        macd_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dea_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        macd_dif_bfq:float MACD指标-CLOSE, SHORT=12, LONG=26, M=9 Y
        mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        ma_mass_bfq:float 梅斯线-HIGH, LOW, N1=9, N2=25, M=6 Y
        mfi_bfq:float MFI指标是成交量的RSI指标-CLOSE, HIGH, LOW, VOL, N=14 Y
        mtm_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        mtmma_bfq:float 动量指标-CLOSE, N=12, M=6 Y
        obv_bfq:float 能量潮指标-CLOSE, VOL Y
        psy_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        psyma_bfq:float 投资者对股市涨跌产生心理波动的情绪指标-CLOSE, N=12, M=6 Y
        roc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        maroc_bfq:float 变动率指标-CLOSE, N=12, M=6 Y
        rsi_bfq_12:float RSI指标-CLOSE, N=12 Y
        rsi_bfq_24:float RSI指标-CLOSE, N=24 Y
        rsi_bfq_6:float RSI指标-CLOSE, N=6 Y
        taq_down_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_mid_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        taq_up_bfq:float 唐安奇通道(海龟)交易指标-HIGH, LOW, 20 Y
        trix_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        trma_bfq:float 三重指数平滑平均线-CLOSE, M1=12, M2=20 Y
        vr_bfq:float VR容量比率-CLOSE, VOL, M1=26 Y
        wr_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        wr1_bfq:float W&R 威廉指标-CLOSE, HIGH, LOW, N=10, N1=6 Y
        xsii_td1_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td2_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td3_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        xsii_td4_bfq:float 薛斯通道II-CLOSE, HIGH, LOW, N=102, M=7 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'asi_bfq' : 'float', 'asit_bfq' : 'float', 'atr_bfq' : 'float', 'bbi_bfq' : 'float', 'bias1_bfq' : 'float', 'bias2_bfq' : 'float', 'bias3_bfq' : 'float', 'boll_lower_bfq' : 'float', 'boll_mid_bfq' : 'float', 'boll_upper_bfq' : 'float', 'brar_ar_bfq' : 'float', 'brar_br_bfq' : 'float', 'cci_bfq' : 'float', 'cr_bfq' : 'float', 'dfma_dif_bfq' : 'float', 'dfma_difma_bfq' : 'float', 'dmi_adx_bfq' : 'float', 'dmi_adxr_bfq' : 'float', 'dmi_mdi_bfq' : 'float', 'dmi_pdi_bfq' : 'float', 'downdays' : 'float', 'updays' : 'float', 'dpo_bfq' : 'float', 'madpo_bfq' : 'float', 'ema_bfq_10' : 'float', 'ema_bfq_20' : 'float', 'ema_bfq_250' : 'float', 'ema_bfq_30' : 'float', 'ema_bfq_5' : 'float', 'ema_bfq_60' : 'float', 'ema_bfq_90' : 'float', 'emv_bfq' : 'float', 'maemv_bfq' : 'float', 'expma_12_bfq' : 'float', 'expma_50_bfq' : 'float', 'kdj_bfq' : 'float', 'kdj_d_bfq' : 'float', 'kdj_k_bfq' : 'float', 'ktn_down_bfq' : 'float', 'ktn_mid_bfq' : 'float', 'ktn_upper_bfq' : 'float', 'lowdays' : 'float', 'topdays' : 'float', 'ma_bfq_10' : 'float', 'ma_bfq_20' : 'float', 'ma_bfq_250' : 'float', 'ma_bfq_30' : 'float', 'ma_bfq_5' : 'float', 'ma_bfq_60' : 'float', 'ma_bfq_90' : 'float', 'macd_bfq' : 'float', 'macd_dea_bfq' : 'float', 'macd_dif_bfq' : 'float', 'mass_bfq' : 'float', 'ma_mass_bfq' : 'float', 'mfi_bfq' : 'float', 'mtm_bfq' : 'float', 'mtmma_bfq' : 'float', 'obv_bfq' : 'float', 'psy_bfq' : 'float', 'psyma_bfq' : 'float', 'roc_bfq' : 'float', 'maroc_bfq' : 'float', 'rsi_bfq_12' : 'float', 'rsi_bfq_24' : 'float', 'rsi_bfq_6' : 'float', 'taq_down_bfq' : 'float', 'taq_mid_bfq' : 'float', 'taq_up_bfq' : 'float', 'trix_bfq' : 'float', 'trma_bfq' : 'float', 'vr_bfq' : 'float', 'wr_bfq' : 'float', 'wr1_bfq' : 'float', 'xsii_td1_bfq' : 'float', 'xsii_td2_bfq' : 'float', 'xsii_td3_bfq' : 'float', 'xsii_td4_bfq' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_change': '涨跌幅未复权，如果是复权请用 通用行情接口 ', 'vol': '成交量手', 'amount': '成交金额万元', 'asi_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'asit_bfq': '振动升降指标-OPEN,CLOSE,HIGH,LOW,M1=26,M2=10', 'atr_bfq': '真实波动N日平均值-CLOSE,HIGH,LOW,N=20', 'bbi_bfq': 'BBI多空指标-CLOSE,M1=3,M2=6,M3=12,M4=20', 'bias1_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias2_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'bias3_bfq': 'BIAS乖离率-CLOSE,L1=6,L2=12,L3=24', 'boll_lower_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_mid_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'boll_upper_bfq': 'BOLL指标，布林带-CLOSE,N=20,P=2', 'brar_ar_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'brar_br_bfq': 'BRAR情绪指标-OPEN,CLOSE,HIGH,LOW,M1=26', 'cci_bfq': '顺势指标又叫CCI指标-CLOSE,HIGH,LOW,N=14', 'cr_bfq': 'CR价格动量指标-CLOSE,HIGH,LOW,N=20', 'dfma_dif_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dfma_difma_bfq': '平行线差指标-CLOSE,N1=10,N2=50,M=10', 'dmi_adx_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_adxr_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_mdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'dmi_pdi_bfq': '动向指标-CLOSE,HIGH,LOW,M1=14,M2=6', 'downdays': '连跌天数', 'updays': '连涨天数', 'dpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'madpo_bfq': '区间震荡线-CLOSE,M1=20,M2=10,M3=6', 'ema_bfq_10': '指数移动平均-N=10', 'ema_bfq_20': '指数移动平均-N=20', 'ema_bfq_250': '指数移动平均-N=250', 'ema_bfq_30': '指数移动平均-N=30', 'ema_bfq_5': '指数移动平均-N=5', 'ema_bfq_60': '指数移动平均-N=60', 'ema_bfq_90': '指数移动平均-N=90', 'emv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'maemv_bfq': '简易波动指标-HIGH,LOW,VOL,N=14,M=9', 'expma_12_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'expma_50_bfq': 'EMA指数平均数指标-CLOSE,N1=12,N2=50', 'kdj_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_d_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'kdj_k_bfq': 'KDJ指标-CLOSE,HIGH,LOW,N=9,M1=3,M2=3', 'ktn_down_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_mid_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'ktn_upper_bfq': '肯特纳交易通道,N选20日，ATR选10日-CLOSE,HIGH,LOW,N=20,M=10', 'lowdays': 'LOWRANGELOW表示当前最低价是近多少周期内最低价的最小值', 'topdays': 'TOPRANGEHIGH表示当前最高价是近多少周期内最高价的最大值', 'ma_bfq_10': '简单移动平均-N=10', 'ma_bfq_20': '简单移动平均-N=20', 'ma_bfq_250': '简单移动平均-N=250', 'ma_bfq_30': '简单移动平均-N=30', 'ma_bfq_5': '简单移动平均-N=5', 'ma_bfq_60': '简单移动平均-N=60', 'ma_bfq_90': '简单移动平均-N=90', 'macd_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dea_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'macd_dif_bfq': 'MACD指标-CLOSE,SHORT=12,LONG=26,M=9', 'mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'ma_mass_bfq': '梅斯线-HIGH,LOW,N1=9,N2=25,M=6', 'mfi_bfq': 'MFI指标是成交量的RSI指标-CLOSE,HIGH,LOW,VOL,N=14', 'mtm_bfq': '动量指标-CLOSE,N=12,M=6', 'mtmma_bfq': '动量指标-CLOSE,N=12,M=6', 'obv_bfq': '能量潮指标-CLOSE,VOL', 'psy_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'psyma_bfq': '投资者对股市涨跌产生心理波动的情绪指标-CLOSE,N=12,M=6', 'roc_bfq': '变动率指标-CLOSE,N=12,M=6', 'maroc_bfq': '变动率指标-CLOSE,N=12,M=6', 'rsi_bfq_12': 'RSI指标-CLOSE,N=12', 'rsi_bfq_24': 'RSI指标-CLOSE,N=24', 'rsi_bfq_6': 'RSI指标-CLOSE,N=6', 'taq_down_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_mid_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'taq_up_bfq': '唐安奇通道海龟交易指标-HIGH,LOW,20', 'trix_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'trma_bfq': '三重指数平滑平均线-CLOSE,M1=12,M2=20', 'vr_bfq': 'VR容量比率-CLOSE,VOL,M1=26', 'wr_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'wr1_bfq': 'W&R威廉指标-CLOSE,HIGH,LOW,N=10,N1=6', 'xsii_td1_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td2_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td3_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7', 'xsii_td4_bfq': '薛斯通道II-CLOSE,HIGH,LOW,N=102,M=7'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_factor_pro",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_price_chg(self,ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债转股价变动
        https://tushare.pro/document/2?doc_id=246
        <参数>
        ts_code:str 转债代码，支持多值输入 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 转债代码 Y
        bond_short_name:str 转债简称 Y
        publish_date:str 公告日期 Y
        change_date:str 变动日期 Y
        convert_price_initial:float 初始转股价格 Y
        convertprice_bef:float 修正前转股价格 Y
        convertprice_aft:float 修正后转股价格 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'bond_short_name' : 'str', 'publish_date' : 'str', 'change_date' : 'str', 'convert_price_initial' : 'float', 'convertprice_bef' : 'float', 'convertprice_aft' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'bond_short_name': '转债简称', 'publish_date': '公告日期', 'change_date': '变动日期', 'convert_price_initial': '初始转股价格', 'convertprice_bef': '修正前转股价格', 'convertprice_aft': '修正后转股价格'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_price_chg",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cb_share(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        可转债转股结果
        https://tushare.pro/document/2?doc_id=247
        <参数>
        ts_code:str 转债代码，支持多值输入 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 债券代码 Y
        bond_short_name:str 债券简称 Y
        publish_date:str 公告日期 Y
        end_date:str 统计截止日期 Y
        issue_size:float 可转债发行总额 Y
        convert_price_initial:float 初始转换价格 Y
        convert_price:float 本次转换价格 Y
        convert_val:float 本次转股金额 Y
        convert_vol:float 本次转股数量 Y
        convert_ratio:float 本次转股比例 Y
        acc_convert_val:float 累计转股金额 Y
        acc_convert_vol:float 累计转股数量 Y
        acc_convert_ratio:float 累计转股比例 Y
        remain_size:float 可转债剩余金额 Y
        total_shares:float 转股后总股本 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'bond_short_name' : 'str', 'publish_date' : 'str', 'end_date' : 'str', 'issue_size' : 'float', 'convert_price_initial' : 'float', 'convert_price' : 'float', 'convert_val' : 'float', 'convert_vol' : 'float', 'convert_ratio' : 'float', 'acc_convert_val' : 'float', 'acc_convert_vol' : 'float', 'acc_convert_ratio' : 'float', 'remain_size' : 'float', 'total_shares' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'bond_short_name': '债券简称', 'publish_date': '公告日期', 'end_date': '统计截止日期', 'issue_size': '可转债发行总额', 'convert_price_initial': '初始转换价格', 'convert_price': '本次转换价格', 'convert_val': '本次转股金额', 'convert_vol': '本次转股数量', 'convert_ratio': '本次转股比例', 'acc_convert_val': '累计转股金额', 'acc_convert_vol': '累计转股数量', 'acc_convert_ratio': '累计转股比例', 'remain_size': '可转债剩余金额', 'total_shares': '转股后总股本'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cb_share",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def repo_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        债券回购日行情
        https://tushare.pro/document/2?doc_id=256
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期(YYYYMMDD格式，下同) N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str TS代码 Y
        trade_date:str 交易日期 Y
        repo_maturity:str 期限品种 Y
        pre_close:float 前收盘(%) Y
        open:float 开盘价(%) Y
        high:float 最高价(%) Y
        low:float 最低价(%) Y
        close:float 收盘价(%) Y
        weight:float 加权价(%) Y
        weight_r:float 加权价(利率债)(%) Y
        amount:float 成交金额(万元) Y
        num:int 成交笔数(笔) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'repo_maturity' : 'str', 'pre_close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'weight' : 'float', 'weight_r' : 'float', 'amount' : 'float', 'num' : 'int'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'repo_maturity': '期限品种', 'pre_close': '前收盘百分比', 'open': '开盘价百分比', 'high': '最高价百分比', 'low': '最低价百分比', 'close': '收盘价百分比', 'weight': '加权价百分比', 'weight_r': '加权价利率债百分比', 'amount': '成交金额万元', 'num': '成交笔数笔'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="repo_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bc_otcqt(self,trade_date: str = None, start_date: str = None, end_date: str = None, ts_code: str = None, bank: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        柜台流通式债券报价
        https://tushare.pro/document/2?doc_id=322
        <参数>
        trade_date:str  N
        start_date:str  N
        end_date:str  N
        ts_code:str  N
        bank:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 报价日期 N
        qt_time:str 报价时间 N
        bank:str 报价机构 N
        ts_code:str 债券编码 N
        name:str 债券简称 N
        maturity:str 期限 N
        remain_maturity:str 剩余期限 N
        bond_type:str 债券类型 N
        coupon_rate:float 票面利率（%） N
        buy_price:float 投资者买入全价 N
        sell_price:float 投资者卖出全价 N
        buy_yield:float 投资者买入到期收益率（%） N
        sell_yield:float 投资者卖出到期收益率（%） N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'qt_time' : 'str', 'bank' : 'str', 'ts_code' : 'str', 'name' : 'str', 'maturity' : 'str', 'remain_maturity' : 'str', 'bond_type' : 'str', 'coupon_rate' : 'float', 'buy_price' : 'float', 'sell_price' : 'float', 'buy_yield' : 'float', 'sell_yield' : 'float'}
        column_name_dict = {'trade_date': '报价日期', 'qt_time': '报价时间', 'bank': '报价机构', 'ts_code': 'ts_code', 'name': '债券简称', 'maturity': '期限', 'remain_maturity': '剩余期限', 'bond_type': '债券类型', 'coupon_rate': '票面利率百分比', 'buy_price': '投资者买入全价', 'sell_price': '投资者卖出全价', 'buy_yield': '投资者买入到期收益率百分比', 'sell_yield': '投资者卖出到期收益率百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bc_otcqt",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bc_bestotcqt(self,trade_date: str = None, start_date: str = None, end_date: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        柜台流通式债券最优报价
        https://tushare.pro/document/2?doc_id=323
        <参数>
        trade_date:str  N
        start_date:str  N
        end_date:str  N
        ts_code:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 报价日期 N
        ts_code:str 债券编码 N
        name:str 债券简称 N
        remain_maturity:str 剩余期限 N
        bond_type:str 债券类型 N
        best_buy_bank:str 最优报买价方 N
        best_buy_yield:float 投资者最优买入价到期收益率（%） N
        best_buy_price:float 投资者最优买入全价 Y
        best_sell_bank:str 最优卖报价方 N
        best_sell_yield:float 投资者最优卖出价到期收益率（%） N
        best_sell_price:float 投资者最优卖出全价 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'remain_maturity' : 'str', 'bond_type' : 'str', 'best_buy_bank' : 'str', 'best_buy_yield' : 'float', 'best_buy_price' : 'float', 'best_sell_bank' : 'str', 'best_sell_yield' : 'float', 'best_sell_price' : 'float'}
        column_name_dict = {'trade_date': '报价日期', 'ts_code': 'ts_code', 'name': '债券简称', 'remain_maturity': '剩余期限', 'bond_type': '债券类型', 'best_buy_bank': '最优报买价方', 'best_buy_yield': '投资者最优买入价到期收益率百分比', 'best_buy_price': '投资者最优买入全价', 'best_sell_bank': '最优卖报价方', 'best_sell_yield': '投资者最优卖出价到期收益率百分比', 'best_sell_price': '投资者最优卖出全价'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bc_bestotcqt",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bond_blk(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, offset: str = None, limit: str = None,fields:str='' )->Query:
        """
        债券大宗交易
        https://tushare.pro/document/2?doc_id=271
        <参数>
        ts_code:str 债券代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        offset:str  N
        limit:str  N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 债券代码 Y
        name:str 债券名称 Y
        price:float 成交价（元） Y
        vol:float 累计成交数量（万股/万份/万张/万手） Y
        amount:float 累计成交金额（万元） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'price' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '债券名称', 'price': '成交价元', 'vol': '累计成交数量万股/万份/万张/万手', 'amount': '累计成交金额万元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bond_blk",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bond_blk_detail(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, offset: str = None, limit: str = None,fields:str='' )->Query:
        """
        大宗交易明细
        https://tushare.pro/document/2?doc_id=272
        <参数>
        ts_code:str 债券代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        offset:str  N
        limit:str  N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 债券代码 Y
        name:str 债券名称 Y
        price:float 成交价（元） Y
        vol:float 成交数量（万股/万份/万张/万手） Y
        amount:float 成交金额（万元） Y
        buy_dp:str 买方营业部 Y
        sell_dp:str 卖方营业部 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'price' : 'float', 'vol' : 'float', 'amount' : 'float', 'buy_dp' : 'str', 'sell_dp' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'name': '债券名称', 'price': '成交价元', 'vol': '成交数量万股/万份/万张/万手', 'amount': '成交金额万元', 'buy_dp': '买方营业部', 'sell_dp': '卖方营业部'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bond_blk_detail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def yc_cb(self,ts_code: str = None, curve_type: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, curve_term: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        中债收益率曲线
        https://tushare.pro/document/2?doc_id=201
        <参数>
        ts_code:str 收益率曲线编码：1001.CB-国债收益率曲线 N
        curve_type:str 曲线类型：0-到期，1-即期 N
        trade_date:str 交易日期 N
        start_date:str 查询起始日期 N
        end_date:str 查询结束日期 N
        curve_term:str 期限 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        ts_code:str 曲线编码 Y
        curve_name:str 曲线名称 Y
        curve_type:str 曲线类型：0-到期，1-即期 Y
        curve_term:float 期限(年) Y
        yield:float 收益率(%) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'ts_code' : 'str', 'curve_name' : 'str', 'curve_type' : 'str', 'curve_term' : 'float', 'yield' : 'float'}
        column_name_dict = {'trade_date': '交易日期', 'ts_code': 'ts_code', 'curve_name': '曲线名称', 'curve_type': '曲线类型：0-到期，1-即期', 'curve_term': '期限年', 'yield': '收益率百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="yc_cb",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def eco_cal(self,date: str = None, start_date: str = None, end_date: str = None, currency: str = None, country: str = None, event: str = None, is_new: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        财经日历
        https://tushare.pro/document/2?doc_id=233
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        currency:str 货币代码 N
        country:str 国家 N
        event:str 事件 N
        is_new:str 是否最新 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        time:str 时间 Y
        currency:str 货币代码 Y
        country:str 国家 Y
        event:str 经济事件 Y
        value:str 今值 Y
        pre_value:str 前值 Y
        fore_value:str 预测值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'time' : 'str', 'currency' : 'str', 'country' : 'str', 'event' : 'str', 'value' : 'str', 'pre_value' : 'str', 'fore_value' : 'str'}
        column_name_dict = {'date': '日期', 'time': '时间', 'currency': '货币代码', 'country': '国家', 'event': '经济事件', 'value': '今值', 'pre_value': '前值', 'fore_value': '预测值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="eco_cal",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fx_obasic(self,exchange: str = None, classify: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        外汇基础信息（海外）
        https://tushare.pro/document/2?doc_id=178
        <参数>
        exchange:str 交易商 N
        classify:str 分类 N
        ts_code:str TS代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 外汇代码 Y
        name:str 名称 Y
        classify:str 分类 Y
        exchange:str FXCM/CFETS Y
        min_unit:float 最小交易单位 Y
        max_unit:float 最大交易单位 Y
        pip:float 最大交易单位 Y
        pip_cost:float 点值 Y
        traget_spread:float 目标差价 Y
        min_stop_distance:float 最小止损距离（点子） Y
        trading_hours:str 交易时间 Y
        break_time:str 休市时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'classify' : 'str', 'exchange' : 'str', 'min_unit' : 'float', 'max_unit' : 'float', 'pip' : 'float', 'pip_cost' : 'float', 'traget_spread' : 'float', 'min_stop_distance' : 'float', 'trading_hours' : 'str', 'break_time' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '名称', 'classify': '分类', 'exchange': 'FXCM/CFETS', 'min_unit': '最小交易单位', 'max_unit': '最大交易单位', 'pip': '最大交易单位', 'pip_cost': '点值', 'traget_spread': '目标差价', 'min_stop_distance': '最小止损距离点子', 'trading_hours': '交易时间', 'break_time': '休市时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fx_obasic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fx_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        外汇日线行情
        https://tushare.pro/document/2?doc_id=179
        <参数>
        ts_code:str TS代码 N
        trade_date:str 交易日期（GMT） N
        start_date:str 开始日期（GMT） N
        end_date:str 结束日期（GMT） N
        exchange:str 交易商 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 外汇代码 Y
        trade_date:str 交易日期 Y
        bid_open:float 买入开盘价 Y
        bid_close:float 买入收盘价 Y
        bid_high:float 买入最高价 Y
        bid_low:float 买入最低价 Y
        ask_open:float 卖出开盘价 Y
        ask_close:float 卖出收盘价 Y
        ask_high:float 卖出最高价 Y
        ask_low:float 卖出最低价 Y
        tick_qty:int 报价笔数 Y
        exchange:str 交易商 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'bid_open' : 'float', 'bid_close' : 'float', 'bid_high' : 'float', 'bid_low' : 'float', 'ask_open' : 'float', 'ask_close' : 'float', 'ask_high' : 'float', 'ask_low' : 'float', 'tick_qty' : 'int', 'exchange' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'bid_open': '买入开盘价', 'bid_close': '买入收盘价', 'bid_high': '买入最高价', 'bid_low': '买入最低价', 'ask_open': '卖出开盘价', 'ask_close': '卖出收盘价', 'ask_high': '卖出最高价', 'ask_low': '卖出最低价', 'tick_qty': '报价笔数', 'exchange': '交易商'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fx_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_basic(self,ts_code: str = None, list_status: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股列表
        https://tushare.pro/document/2?doc_id=191
        <参数>
        ts_code:str TS代码 N
        list_status:str 上市状态 L上市 D退市 P暂停上市 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        name:str 股票简称 Y
        fullname:str 公司全称 Y
        enname:str 英文名称 Y
        cn_spell:str 拼音 Y
        market:str 市场类别 Y
        list_status:str 上市状态 Y
        list_date:str 上市日期 Y
        delist_date:str 退市日期 Y
        trade_unit:float 交易单位 Y
        isin:str ISIN代码 Y
        curr_type:str 货币代码 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'fullname' : 'str', 'enname' : 'str', 'cn_spell' : 'str', 'market' : 'str', 'list_status' : 'str', 'list_date' : 'str', 'delist_date' : 'str', 'trade_unit' : 'float', 'isin' : 'str', 'curr_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票简称', 'fullname': '公司全称', 'enname': '英文名称', 'cn_spell': '拼音', 'market': '市场类别', 'list_status': '上市状态', 'list_date': '上市日期', 'delist_date': '退市日期', 'trade_unit': '交易单位', 'isin': 'ISIN代码', 'curr_type': '货币代码'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_tradecal(self,start_date: str = None, end_date: str = None, is_open: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股交易日历
        https://tushare.pro/document/2?doc_id=250
        <参数>
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        is_open:str 是否交易 '0'休市 '1'交易 N
        exchange:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        cal_date:str 日历日期 Y
        is_open:int 是否交易 '0'休市 '1'交易 Y
        pretrade_date:str 上一个交易日 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'cal_date' : 'str', 'is_open' : 'int', 'pretrade_date' : 'str'}
        column_name_dict = {'cal_date': '日历日期', 'is_open': '是否交易0休市1交易', 'pretrade_date': '上一个交易日'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_tradecal",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_daily_adj(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, offset: int = None, limit: int = None, symbol: str = None,fields:str='' )->Query:
        """
        港股复权行情
        https://tushare.pro/document/2?doc_id=339
        <参数>
        ts_code:str 股票代码（e.g. 00001.HK） N
        trade_date:str 交易日期（YYYYMMDD） N
        start_date:str 开始日期（YYYYMMDD） N
        end_date:str 结束日期（YYYYMMDD） N
        offset:int 开始行数 N
        limit:int 每页行数行数 N
        symbol:str  N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        close:float 收盘价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_change:float 涨跌幅 Y
        vol: 成交量 Y
        amount:float 成交额 Y
        vwap:float 平均价 Y
        adj_factor:float 复权因子 Y
        turnover_ratio:float 换手率 Y
        free_share: 流通股本 Y
        total_share: 总股本 Y
        free_mv:float 流通市值 Y
        total_mv:float 总市值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'str', 'amount' : 'float', 'vwap' : 'float', 'adj_factor' : 'float', 'turnover_ratio' : 'float', 'free_share' : 'str', 'total_share' : 'str', 'free_mv' : 'float', 'total_mv' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '收盘价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_change': '涨跌幅', 'vol': '成交量', 'amount': '成交额', 'vwap': '平均价', 'adj_factor': '复权因子', 'turnover_ratio': '换手率', 'free_share': '流通股本', 'total_share': '总股本', 'free_mv': '流通市值', 'total_mv': '总市值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_daily_adj",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股行情
        https://tushare.pro/document/2?doc_id=192
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        close:float 收盘价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_chg:float 涨跌幅 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'close' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_chg' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'close': '收盘价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_chg': '涨跌幅', 'vol': '成交量', 'amount': '成交额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_mins(self,ts_code: str = None, freq: str = None, start_date: str = None, end_date: str = None, test: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股分钟
        https://tushare.pro/document/2?doc_id=304
        <参数>
        ts_code:str ts_code N
        freq:str 分钟频度 Y
        start_date:datetime  N
        end_date:datetime 结束时间 N
        test:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str  Y
        trade_time:str  Y
        open:float  Y
        close:float  Y
        high:float  Y
        low:float  Y
        vol:int  Y
        amount:float  Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_time' : 'str', 'open' : 'float', 'close' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'int', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_time': '', 'open': '', 'close': '', 'high': '', 'low': '', 'vol': '', 'amount': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_mins",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def rt_hk_k(self,topic: str = None, ts_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股实时日线
        https://tushare.pro/document/2?doc_id=383
        <参数>
        topic:str  N
        ts_code:str 逗号隔开多个code Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        name: 股票名称 N
        pre_close:float 昨收价 Y
        close:float 收盘价 Y
        high:float 最高价 Y
        open:float 开盘价 Y
        low:float 最低价 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'pre_close' : 'float', 'close' : 'float', 'high' : 'float', 'open' : 'float', 'low' : 'float', 'vol' : 'float', 'amount' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票名称', 'pre_close': '昨收价', 'close': '收盘价', 'high': '最高价', 'open': '开盘价', 'low': '最低价', 'vol': '成交量', 'amount': '成交额'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="rt_hk_k",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_income(self,ts_code: str = None, period: str = None, ind_name: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股利润表
        https://tushare.pro/document/2?doc_id=389
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        ind_name:str 指标名(如：营业额） N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        end_date:str 报告期 Y
        name:str 股票名称 Y
        ind_name:str 财务科目名称 Y
        ind_value:float 财务科目值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'name' : 'str', 'ind_name' : 'str', 'ind_value' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '报告期', 'name': '股票名称', 'ind_name': '财务科目名称', 'ind_value': '财务科目值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_income",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_balancesheet(self,ts_code: str = None, period: str = None, ind_name: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股资产负债表
        https://tushare.pro/document/2?doc_id=390
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        ind_name:str 指标名(如：应收账款） N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        end_date:str 报告期 Y
        ind_name:str 财务科目名称 Y
        ind_value:float 财务科目值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'end_date' : 'str', 'ind_name' : 'str', 'ind_value' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票名称', 'end_date': '报告期', 'ind_name': '财务科目名称', 'ind_value': '财务科目值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_balancesheet",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_cashflow(self,ts_code: str = None, period: str = None, ind_name: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股现金流量表
        https://tushare.pro/document/2?doc_id=391
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        ind_name:str 指标名(如：新增借款） N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        end_date:str 报告期 Y
        name:str 股票名称 Y
        ind_name:str 财务科目名称 Y
        ind_value:float 财务科目值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'name' : 'str', 'ind_name' : 'str', 'ind_value' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '报告期', 'name': '股票名称', 'ind_name': '财务科目名称', 'ind_value': '财务科目值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_cashflow",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hk_fina_indicator(self,ts_code: str = None, period: str = None, report_type: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        港股财务指标数据
        https://tushare.pro/document/2?doc_id=388
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        report_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        end_date:str 报告期 Y
        report_type:str 报告期类型 Y
        std_report_date:str 标准报告期 Y
        per_netcash_operate:float 每股经营现金流(元) Y
        per_oi:float 每股营业收入(元) Y
        bps:float 每股净资产(元) Y
        basic_eps:float 基本每股收益(元) Y
        diluted_eps:float 稀释每股收益(元) Y
        operate_income:float 营业总收入(元) Y
        operate_income_yoy:float 营业总收入同比增长(%) Y
        gross_profit:float 毛利润(元) Y
        gross_profit_yoy:float 毛利润同比增长(%) Y
        holder_profit:float 归母净利润(元) Y
        holder_profit_yoy:float 归母净利润同比增长(%) Y
        gross_profit_ratio:float 毛利率(%) Y
        eps_ttm:float ttm每股收益(元) Y
        operate_income_qoq:float 营业总收入滚动环比增长(%) Y
        net_profit_ratio:float 净利率(%) Y
        roe_avg:float 平均净资产收益率(%) Y
        gross_profit_qoq:float 毛利润滚动环比增长(%) Y
        roa:float 总资产净利率(%) Y
        holder_profit_qoq:float 归母净利润滚动环比增长(%) Y
        roe_yearly:float 年化净资产收益率(%) Y
        roic_yearly:float 年化投资回报率(%) Y
        total_assets:float 资产总额 Y
        total_liabilities:float 负债总额 Y
        tax_ebt:float 所得税/利润总额(%) Y
        ocf_sales:float 经营现金流/营业收入(%) Y
        total_parent_equity:float 本公司权益持有人应占权益 Y
        debt_asset_ratio:float 资产负债率(%) Y
        operate_profit:float 经营盈利 Y
        pretax_profit:float 除税前盈利 Y
        netcash_operate:float 经营活动所得现金流量净额 Y
        netcash_invest:float 投资活动耗用现金流量净额 Y
        netcash_finance:float 融资活动耗用现金流量净额 Y
        end_cash:float 期末的现金及现金等价物 Y
        divi_ratio:float 分红比例 Y
        dividend_rate:float 股息率 Y
        current_ratio:float 流动比率(倍) Y
        common_acs:float 普通股应计股息 Y
        currentdebt_debt:float 流动负债/总负债(%) Y
        issued_common_shares:float 已发行普通股 Y
        hk_common_shares:float 港股本 Y
        per_shares:float 每手股数 Y
        total_market_cap:float 总市值 Y
        hksk_market_cap:float 港股市值 Y
        pe_ttm:float 滚动市盈率 Y
        pb_ttm:float 滚动市净率 Y
        report_date_sq:str 季报日期 Y
        report_type_sq:str 报告类型 Y
        operate_income_sq:float 营业收入 Y
        dps_hkd:float 每股股息（港元） Y
        operate_income_qoq_sq:float 营业收入环比 Y
        net_profit_ratio_sq:float 净利润率 Y
        holder_profit_sq:float 归属于股东净利润 Y
        holder_profit_qoq_sq:float 归母净利润环比 Y
        roe_avg_sq:float 平均净资产收益率 Y
        pe_ttm_sq:float 季报滚动市盈率 Y
        pb_ttm_sq:float 季报滚动市净率 Y
        roa_sq:float 总资产收益率 Y
        start_date:float 会计年度起始日 Y
        fiscal_year:float 会计年度截止日 Y
        currency:str 币种 港元（hkd） Y
        is_cny_code:float 是否人民币代码 Y
        dps_hkd_ly:float 上一年每股股息 Y
        org_type:str 企业类型 Y
        premium_income:float 保费收入 Y
        premium_income_yoy:float 保费收入同比 Y
        net_interest_income:float 净利息收入 Y
        net_interest_income_yoy:float 净利息收入同比 Y
        fee_commission_income:float 手续费及佣金收入 Y
        fee_commission_income_yoy:float 手续费及佣金收入同比 Y
        accounts_rece_tdays:float 应收账款周转率(次) Y
        inventory_tdays:float 存货周转率(次) Y
        current_assets_tdays:float 流动资产周转率(次) Y
        total_assets_tdays:float 总资产周转率(次) Y
        premium_expense:float 保险赔付支出 Y
        loan_deposit:float 贷款/存款 Y
        loan_equity:float 贷款/股东权益 Y
        loan_assets:float 贷款/总资产 Y
        deposit_equity:float 存款/股东权益 Y
        deposit_assets:float 存款/总资产 Y
        equity_multiplier:float 权益乘数 Y
        equity_ratio:float 产权比率 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'end_date' : 'str', 'report_type' : 'str', 'std_report_date' : 'str', 'per_netcash_operate' : 'float', 'per_oi' : 'float', 'bps' : 'float', 'basic_eps' : 'float', 'diluted_eps' : 'float', 'operate_income' : 'float', 'operate_income_yoy' : 'float', 'gross_profit' : 'float', 'gross_profit_yoy' : 'float', 'holder_profit' : 'float', 'holder_profit_yoy' : 'float', 'gross_profit_ratio' : 'float', 'eps_ttm' : 'float', 'operate_income_qoq' : 'float', 'net_profit_ratio' : 'float', 'roe_avg' : 'float', 'gross_profit_qoq' : 'float', 'roa' : 'float', 'holder_profit_qoq' : 'float', 'roe_yearly' : 'float', 'roic_yearly' : 'float', 'total_assets' : 'float', 'total_liabilities' : 'float', 'tax_ebt' : 'float', 'ocf_sales' : 'float', 'total_parent_equity' : 'float', 'debt_asset_ratio' : 'float', 'operate_profit' : 'float', 'pretax_profit' : 'float', 'netcash_operate' : 'float', 'netcash_invest' : 'float', 'netcash_finance' : 'float', 'end_cash' : 'float', 'divi_ratio' : 'float', 'dividend_rate' : 'float', 'current_ratio' : 'float', 'common_acs' : 'float', 'currentdebt_debt' : 'float', 'issued_common_shares' : 'float', 'hk_common_shares' : 'float', 'per_shares' : 'float', 'total_market_cap' : 'float', 'hksk_market_cap' : 'float', 'pe_ttm' : 'float', 'pb_ttm' : 'float', 'report_date_sq' : 'str', 'report_type_sq' : 'str', 'operate_income_sq' : 'float', 'dps_hkd' : 'float', 'operate_income_qoq_sq' : 'float', 'net_profit_ratio_sq' : 'float', 'holder_profit_sq' : 'float', 'holder_profit_qoq_sq' : 'float', 'roe_avg_sq' : 'float', 'pe_ttm_sq' : 'float', 'pb_ttm_sq' : 'float', 'roa_sq' : 'float', 'start_date' : 'float', 'fiscal_year' : 'float', 'currency' : 'str', 'is_cny_code' : 'float', 'dps_hkd_ly' : 'float', 'org_type' : 'str', 'premium_income' : 'float', 'premium_income_yoy' : 'float', 'net_interest_income' : 'float', 'net_interest_income_yoy' : 'float', 'fee_commission_income' : 'float', 'fee_commission_income_yoy' : 'float', 'accounts_rece_tdays' : 'float', 'inventory_tdays' : 'float', 'current_assets_tdays' : 'float', 'total_assets_tdays' : 'float', 'premium_expense' : 'float', 'loan_deposit' : 'float', 'loan_equity' : 'float', 'loan_assets' : 'float', 'deposit_equity' : 'float', 'deposit_assets' : 'float', 'equity_multiplier' : 'float', 'equity_ratio' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '股票名称', 'end_date': '报告期', 'report_type': '报告期类型', 'std_report_date': '标准报告期', 'per_netcash_operate': '每股经营现金流元', 'per_oi': '每股营业收入元', 'bps': '每股净资产元', 'basic_eps': '基本每股收益元', 'diluted_eps': '稀释每股收益元', 'operate_income': '营业总收入元', 'operate_income_yoy': '营业总收入同比增长百分比', 'gross_profit': '毛利润元', 'gross_profit_yoy': '毛利润同比增长百分比', 'holder_profit': '归母净利润元', 'holder_profit_yoy': '归母净利润同比增长百分比', 'gross_profit_ratio': '毛利率百分比', 'eps_ttm': 'ttm每股收益元', 'operate_income_qoq': '营业总收入滚动环比增长百分比', 'net_profit_ratio': '净利率百分比', 'roe_avg': '平均净资产收益率百分比', 'gross_profit_qoq': '毛利润滚动环比增长百分比', 'roa': '总资产净利率百分比', 'holder_profit_qoq': '归母净利润滚动环比增长百分比', 'roe_yearly': '年化净资产收益率百分比', 'roic_yearly': '年化投资回报率百分比', 'total_assets': '资产总额', 'total_liabilities': '负债总额', 'tax_ebt': '所得税/利润总额百分比', 'ocf_sales': '经营现金流/营业收入百分比', 'total_parent_equity': '本公司权益持有人应占权益', 'debt_asset_ratio': '资产负债率百分比', 'operate_profit': '经营盈利', 'pretax_profit': '除税前盈利', 'netcash_operate': '经营活动所得现金流量净额', 'netcash_invest': '投资活动耗用现金流量净额', 'netcash_finance': '融资活动耗用现金流量净额', 'end_cash': '期末的现金及现金等价物', 'divi_ratio': '分红比例', 'dividend_rate': '股息率', 'current_ratio': '流动比率倍', 'common_acs': '普通股应计股息', 'currentdebt_debt': '流动负债/总负债百分比', 'issued_common_shares': '已发行普通股', 'hk_common_shares': '港股本', 'per_shares': '每手股数', 'total_market_cap': '总市值', 'hksk_market_cap': '港股市值', 'pe_ttm': '滚动市盈率', 'pb_ttm': '滚动市净率', 'report_date_sq': '季报日期', 'report_type_sq': '报告类型', 'operate_income_sq': '营业收入', 'dps_hkd': '每股股息港元', 'operate_income_qoq_sq': '营业收入环比', 'net_profit_ratio_sq': '净利润率', 'holder_profit_sq': '归属于股东净利润', 'holder_profit_qoq_sq': '归母净利润环比', 'roe_avg_sq': '平均净资产收益率', 'pe_ttm_sq': '季报滚动市盈率', 'pb_ttm_sq': '季报滚动市净率', 'roa_sq': '总资产收益率', 'start_date': '会计年度起始日', 'fiscal_year': '会计年度截止日', 'currency': '币种 港元hkd', 'is_cny_code': '是否人民币代码', 'dps_hkd_ly': '上一年每股股息', 'org_type': '企业类型', 'premium_income': '保费收入', 'premium_income_yoy': '保费收入同比', 'net_interest_income': '净利息收入', 'net_interest_income_yoy': '净利息收入同比', 'fee_commission_income': '手续费及佣金收入', 'fee_commission_income_yoy': '手续费及佣金收入同比', 'accounts_rece_tdays': '应收账款周转率次', 'inventory_tdays': '存货周转率次', 'current_assets_tdays': '流动资产周转率次', 'total_assets_tdays': '总资产周转率次', 'premium_expense': '保险赔付支出', 'loan_deposit': '贷款/存款', 'loan_equity': '贷款/股东权益', 'loan_assets': '贷款/总资产', 'deposit_equity': '存款/股东权益', 'deposit_assets': '存款/总资产', 'equity_multiplier': '权益乘数', 'equity_ratio': '产权比率'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hk_fina_indicator",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_basic(self,ts_code: str = None, classify: str = None, list_stauts: str = None, offset: str = None, limit: str = None,fields:str='' )->Query:
        """
        美股列表
        https://tushare.pro/document/2?doc_id=252
        <参数>
        ts_code:str 股票代码（e.g. AAPL） N
        classify:str 股票分类 N
        classify:str 股票分类（ADR/GDR/EQ） N
        list_stauts:str 上市状态 N
        offset:str 开始行数 N
        limit:str 每页最大行数 N
        <返回结果>
        ts_code:str 美股代码 Y
        name:str 中文名称 Y
        enname:str 英文名称 Y
        classify:str 分类ADR/GDR/EQ Y
        list_status:str 上市状态L上市D退市P暂停上市 N
        list_date:str 上市日期 Y
        delist_date:str 退市日期 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'enname' : 'str', 'classify' : 'str', 'list_status' : 'str', 'list_date' : 'str', 'delist_date' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '中文名称', 'enname': '英文名称', 'classify': '分类ADR/GDR/EQ', 'list_status': '上市状态L上市D退市P暂停上市', 'list_date': '上市日期', 'delist_date': '退市日期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_basic",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_tradecal(self,start_date: str = None, end_date: str = None, is_open: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        美股交易日历
        https://tushare.pro/document/2?doc_id=253
        <参数>
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        is_open:str 是否交易 '0'休市 '1'交易 N
        exchange:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        cal_date:str 日历日期 Y
        is_open:int 是否交易 '0'休市 '1'交易 Y
        pretrade_date:str 上一个交易日 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'cal_date' : 'str', 'is_open' : 'int', 'pretrade_date' : 'str'}
        column_name_dict = {'cal_date': '日历日期', 'is_open': '是否交易0休市1交易', 'pretrade_date': '上一个交易日'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_tradecal",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_daily(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        美股行情
        https://tushare.pro/document/2?doc_id=254
        <参数>
        ts_code:str 股票代码（e.g. AAPL） N
        trade_date:str 交易日期（YYYYMMDD） N
        start_date:str 开始日期（YYYYMMDD） N
        end_date:str 结束日期（YYYYMMDD） N
        offset:int 开始行数 N
        limit:int 每页行数行数 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        close:float 收盘价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 N
        pct_change:float 涨跌幅 Y
        vol:float 成交量 Y
        amount:float 成交额 Y
        vwap:float 平均价 Y
        adj_factor:float 复权因子 N
        turnover_ratio:float 换手率 N
        total_mv:float 总市值 N
        pe:float PE N
        pb:float PB N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'float', 'amount' : 'float', 'vwap' : 'float', 'adj_factor' : 'float', 'turnover_ratio' : 'float', 'total_mv' : 'float', 'pe' : 'float', 'pb' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '收盘价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_change': '涨跌幅', 'vol': '成交量', 'amount': '成交额', 'vwap': '平均价', 'adj_factor': '复权因子', 'turnover_ratio': '换手率', 'total_mv': '总市值', 'pe': 'PE', 'pb': 'PB'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_daily_adj(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, exchange: str = None, offset: int = None, limit: int = None,fields:str='' )->Query:
        """
        美股复权行情
        https://tushare.pro/document/2?doc_id=338
        <参数>
        ts_code:str 股票代码（e.g. AAPL） N
        trade_date:str 交易日期（YYYYMMDD） N
        start_date:str 开始日期（YYYYMMDD） N
        end_date:str 结束日期（YYYYMMDD） N
        exchange:str 交易所（NAS/NYS/OTC) N
        offset:int 开始行数 N
        limit:int 每页行数行数 N
        <返回结果>
        ts_code:str 股票代码 Y
        trade_date:str 交易日期 Y
        close:float 收盘价 Y
        open:float 开盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        pre_close:float 昨收价 Y
        change:float 涨跌额 Y
        pct_change:float 涨跌幅 Y
        vol:int 成交量 Y
        amount:float 成交额 Y
        vwap:float 平均价 Y
        adj_factor:float 复权因子 Y
        turnover_ratio:float 换手率 Y
        free_share:int 流通股本 Y
        total_share:int 总股本 Y
        free_mv:float 流通市值 Y
        total_mv:float 总市值 Y
        exchange:str 交易所代码 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'trade_date' : 'str', 'close' : 'float', 'open' : 'float', 'high' : 'float', 'low' : 'float', 'pre_close' : 'float', 'change' : 'float', 'pct_change' : 'float', 'vol' : 'int', 'amount' : 'float', 'vwap' : 'float', 'adj_factor' : 'float', 'turnover_ratio' : 'float', 'free_share' : 'int', 'total_share' : 'int', 'free_mv' : 'float', 'total_mv' : 'float', 'exchange' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'trade_date': '交易日期', 'close': '收盘价', 'open': '开盘价', 'high': '最高价', 'low': '最低价', 'pre_close': '昨收价', 'change': '涨跌额', 'pct_change': '涨跌幅', 'vol': '成交量', 'amount': '成交额', 'vwap': '平均价', 'adj_factor': '复权因子', 'turnover_ratio': '换手率', 'free_share': '流通股本', 'total_share': '总股本', 'free_mv': '流通市值', 'total_mv': '总市值', 'exchange': '交易所代码'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_daily_adj",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_income(self,ts_code: str = None, period: str = None, ind_name: str = None, report_type: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        美股利润表
        https://tushare.pro/document/2?doc_id=394
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        ind_name:str 指标名(如：新增借款） N
        report_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        end_date:str 报告期 Y
        ind_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) Y
        name:str 股票名称 Y
        ind_name:str 财务科目名称 Y
        ind_value:float 财务科目值 Y
        report_type:str 报告类型 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'ind_type' : 'str', 'name' : 'str', 'ind_name' : 'str', 'ind_value' : 'float', 'report_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '报告期', 'ind_type': '报告期类型Q1一季报Q2半年报Q3三季报Q4年报', 'name': '股票名称', 'ind_name': '财务科目名称', 'ind_value': '财务科目值', 'report_type': '报告类型'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_income",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_balancesheet(self,ts_code: str = None, period: str = None, ind_name: str = None, report_type: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        美股资产负债表
        https://tushare.pro/document/2?doc_id=395
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        ind_name:str 指标名(如：新增借款） N
        report_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        end_date:str 报告期 Y
        ind_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) Y
        name:str 股票名称 Y
        ind_name:str 财务科目名称 Y
        ind_value:float 财务科目值 Y
        report_type:str 报告类型 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'ind_type' : 'str', 'name' : 'str', 'ind_name' : 'str', 'ind_value' : 'float', 'report_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '报告期', 'ind_type': '报告期类型Q1一季报Q2半年报Q3三季报Q4年报', 'name': '股票名称', 'ind_name': '财务科目名称', 'ind_value': '财务科目值', 'report_type': '报告类型'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_balancesheet",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_cashflow(self,ts_code: str = None, period: str = None, ind_name: str = None, report_type: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        美股现金流量表
        https://tushare.pro/document/2?doc_id=396
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        ind_name:str 指标名(如：新增借款） N
        report_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        end_date:str 报告期 Y
        ind_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) Y
        name:str 股票名称 Y
        ind_name:str 财务科目名称 Y
        ind_value:float 财务科目值 Y
        report_type:str 报告类型 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'ind_type' : 'str', 'name' : 'str', 'ind_name' : 'str', 'ind_value' : 'float', 'report_type' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '报告期', 'ind_type': '报告期类型Q1一季报Q2半年报Q3三季报Q4年报', 'name': '股票名称', 'ind_name': '财务科目名称', 'ind_value': '财务科目值', 'report_type': '报告类型'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_cashflow",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_fina_indicator(self,ts_code: str = None, period: str = None, report_type: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        美股财务指标数据
        https://tushare.pro/document/2?doc_id=393
        <参数>
        ts_code:str 股票代码 Y
        period:str 报告期（格式：YYYYMMDD，每个季度最后一天的日期，如20241231) N
        report_type:str 报告期类型(Q1一季报Q2半年报Q3三季报Q4年报) N
        start_date:str 报告期开始时间（格式：YYYYMMDD） N
        end_date:str 报告结束始时间（格式：YYYYMMDD） N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        ts_code:str 股票代码 Y
        end_date:str 报告期 Y
        ind_type:str 报告类型,Q1一季报,Q2中报,Q3三季报,Q4年报 Y
        security_name_abbr:str 股票名称 Y
        accounting_standards:str 会计准则 Y
        notice_date:str 公告日期 Y
        start_date:str 报告期开始时间 Y
        std_report_date:str 标准报告期 Y
        financial_date:str 年结日 Y
        currency:str 币种 Y
        date_type:str 报告期类型 Y
        report_type:str 报告类型 Y
        operate_income:float 收入 Y
        operate_income_yoy:float 收入增长 Y
        gross_profit:float 毛利 Y
        gross_profit_yoy:float 毛利增长 Y
        parent_holder_netprofit:float 归母净利润 Y
        parent_holder_netprofit_yoy:float 归母净利润增长 Y
        basic_eps:float 基本每股收益 Y
        diluted_eps:float 稀释每股收益 Y
        gross_profit_ratio:float 销售毛利率 Y
        net_profit_ratio:float 销售净利率 Y
        accounts_rece_tr:float 应收账款周转率(次) Y
        inventory_tr:float 存货周转率(次) Y
        total_assets_tr:float 总资产周转率(次) Y
        accounts_rece_tdays:float 应收账款周转天数 Y
        inventory_tdays:float 存货周转天数 Y
        total_assets_tdays:float 总资产周转天数 Y
        roe_avg:float 净资产收益率 Y
        roa:float 总资产净利率 Y
        current_ratio:float 流动比率(倍) Y
        speed_ratio:float 速动比率(倍) Y
        ocf_liqdebt:float 经营业务现金净额/流动负债 Y
        debt_asset_ratio:float 资产负债率 Y
        equity_ratio:float 产权比率 Y
        basic_eps_yoy:float 基本每股收益同比增长 Y
        gross_profit_ratio_yoy:float 毛利率同比增长(%) Y
        net_profit_ratio_yoy:float 净利率同比增长(%) Y
        roe_avg_yoy:float 平均净资产收益率同比增长(%) Y
        roa_yoy:float 净资产收益率同比增长(%) Y
        debt_asset_ratio_yoy:float 资产负债率同比增长(%) Y
        current_ratio_yoy:float 流动比率同比增长(%) Y
        speed_ratio_yoy:float 速动比率同比增长(%) Y
        currency_abbr:str 币种 Y
        total_income:float 收入总额 Y
        total_income_yoy:float 收入总额同比增长 Y
        premium_income:float 保费收入 Y
        premium_income_yoy:float 保费收入同比 Y
        basic_eps_cs:float 基本每股收益 Y
        basic_eps_cs_yoy:float 基本每股收益同比增长 Y
        diluted_eps_cs:float 稀释每股收益 Y
        payout_ratio:float 保费收入/赔付支出 Y
        capitial_ratio:float 总资产周转率 Y
        roe:float 净资产收益率 Y
        roe_yoy:float 净资产收益率同比增长 Y
        debt_ratio:float 资产负债率 Y
        debt_ratio_yoy:float 资产负债率同比增长 Y
        net_interest_income:float 净利息收入 Y
        net_interest_income_yoy:float 净利息收入增长 Y
        diluted_eps_cs_yoy:float 稀释每股收益增长 Y
        loan_loss_provision:float 贷款损失准备 Y
        loan_loss_provision_yoy:float 贷款损失准备增长 Y
        loan_deposit:float 贷款/存款 Y
        loan_equity:float 贷款/股东权益(倍) Y
        loan_assets:float 贷款/总资产 Y
        deposit_equity:float 存款/股东权益(倍) Y
        deposit_assets:float 存款/总资产 Y
        rol:float 贷款回报率 Y
        rod:float 存款回报率 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'end_date' : 'str', 'ind_type' : 'str', 'security_name_abbr' : 'str', 'accounting_standards' : 'str', 'notice_date' : 'str', 'start_date' : 'str', 'std_report_date' : 'str', 'financial_date' : 'str', 'currency' : 'str', 'date_type' : 'str', 'report_type' : 'str', 'operate_income' : 'float', 'operate_income_yoy' : 'float', 'gross_profit' : 'float', 'gross_profit_yoy' : 'float', 'parent_holder_netprofit' : 'float', 'parent_holder_netprofit_yoy' : 'float', 'basic_eps' : 'float', 'diluted_eps' : 'float', 'gross_profit_ratio' : 'float', 'net_profit_ratio' : 'float', 'accounts_rece_tr' : 'float', 'inventory_tr' : 'float', 'total_assets_tr' : 'float', 'accounts_rece_tdays' : 'float', 'inventory_tdays' : 'float', 'total_assets_tdays' : 'float', 'roe_avg' : 'float', 'roa' : 'float', 'current_ratio' : 'float', 'speed_ratio' : 'float', 'ocf_liqdebt' : 'float', 'debt_asset_ratio' : 'float', 'equity_ratio' : 'float', 'basic_eps_yoy' : 'float', 'gross_profit_ratio_yoy' : 'float', 'net_profit_ratio_yoy' : 'float', 'roe_avg_yoy' : 'float', 'roa_yoy' : 'float', 'debt_asset_ratio_yoy' : 'float', 'current_ratio_yoy' : 'float', 'speed_ratio_yoy' : 'float', 'currency_abbr' : 'str', 'total_income' : 'float', 'total_income_yoy' : 'float', 'premium_income' : 'float', 'premium_income_yoy' : 'float', 'basic_eps_cs' : 'float', 'basic_eps_cs_yoy' : 'float', 'diluted_eps_cs' : 'float', 'payout_ratio' : 'float', 'capitial_ratio' : 'float', 'roe' : 'float', 'roe_yoy' : 'float', 'debt_ratio' : 'float', 'debt_ratio_yoy' : 'float', 'net_interest_income' : 'float', 'net_interest_income_yoy' : 'float', 'diluted_eps_cs_yoy' : 'float', 'loan_loss_provision' : 'float', 'loan_loss_provision_yoy' : 'float', 'loan_deposit' : 'float', 'loan_equity' : 'float', 'loan_assets' : 'float', 'deposit_equity' : 'float', 'deposit_assets' : 'float', 'rol' : 'float', 'rod' : 'float'}
        column_name_dict = {'ts_code': 'ts_code', 'end_date': '报告期', 'ind_type': '报告类型,Q1一季报,Q2中报,Q3三季报,Q4年报', 'security_name_abbr': '股票名称', 'accounting_standards': '会计准则', 'notice_date': '公告日期', 'start_date': '报告期开始时间', 'std_report_date': '标准报告期', 'financial_date': '年结日', 'currency': '币种', 'date_type': '报告期类型', 'report_type': '报告类型', 'operate_income': '收入', 'operate_income_yoy': '收入增长', 'gross_profit': '毛利', 'gross_profit_yoy': '毛利增长', 'parent_holder_netprofit': '归母净利润', 'parent_holder_netprofit_yoy': '归母净利润增长', 'basic_eps': '基本每股收益', 'diluted_eps': '稀释每股收益', 'gross_profit_ratio': '销售毛利率', 'net_profit_ratio': '销售净利率', 'accounts_rece_tr': '应收账款周转率次', 'inventory_tr': '存货周转率次', 'total_assets_tr': '总资产周转率次', 'accounts_rece_tdays': '应收账款周转天数', 'inventory_tdays': '存货周转天数', 'total_assets_tdays': '总资产周转天数', 'roe_avg': '净资产收益率', 'roa': '总资产净利率', 'current_ratio': '流动比率倍', 'speed_ratio': '速动比率倍', 'ocf_liqdebt': '经营业务现金净额/流动负债', 'debt_asset_ratio': '资产负债率', 'equity_ratio': '产权比率', 'basic_eps_yoy': '基本每股收益同比增长', 'gross_profit_ratio_yoy': '毛利率同比增长百分比', 'net_profit_ratio_yoy': '净利率同比增长百分比', 'roe_avg_yoy': '平均净资产收益率同比增长百分比', 'roa_yoy': '净资产收益率同比增长百分比', 'debt_asset_ratio_yoy': '资产负债率同比增长百分比', 'current_ratio_yoy': '流动比率同比增长百分比', 'speed_ratio_yoy': '速动比率同比增长百分比', 'currency_abbr': '币种', 'total_income': '收入总额', 'total_income_yoy': '收入总额同比增长', 'premium_income': '保费收入', 'premium_income_yoy': '保费收入同比', 'basic_eps_cs': '基本每股收益', 'basic_eps_cs_yoy': '基本每股收益同比增长', 'diluted_eps_cs': '稀释每股收益', 'payout_ratio': '保费收入/赔付支出', 'capitial_ratio': '总资产周转率', 'roe': '净资产收益率', 'roe_yoy': '净资产收益率同比增长', 'debt_ratio': '资产负债率', 'debt_ratio_yoy': '资产负债率同比增长', 'net_interest_income': '净利息收入', 'net_interest_income_yoy': '净利息收入增长', 'diluted_eps_cs_yoy': '稀释每股收益增长', 'loan_loss_provision': '贷款损失准备', 'loan_loss_provision_yoy': '贷款损失准备增长', 'loan_deposit': '贷款/存款', 'loan_equity': '贷款/股东权益倍', 'loan_assets': '贷款/总资产', 'deposit_equity': '存款/股东权益倍', 'deposit_assets': '存款/总资产', 'rol': '贷款回报率', 'rod': '存款回报率'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_fina_indicator",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def tmt_twincome(self,date: str = None, item: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        台湾电子产业月度营收
        https://tushare.pro/document/2?doc_id=88
        <参数>
        date:str 报告期 N
        item:str 产品代码 Y
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 报告期 Y
        item:str 产品代码 Y
        op_income:str 月度收入 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'item' : 'str', 'op_income' : 'str'}
        column_name_dict = {'date': '报告期', 'item': '产品代码', 'op_income': '月度收入'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="tmt_twincome",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def tmt_twincomedetail(self,date: str = None, item: str = None, symbol: str = None, start_date: str = None, end_date: str = None, source: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        台湾电子产业月营收明细
        https://tushare.pro/document/2?doc_id=87
        <参数>
        date:str 报告期 N
        item:str 产品代码 N
        symbol:str 公司代码 N
        start_date:str 报告期开始日期 N
        end_date:str 报告期结束日期 N
        source:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 报告期 Y
        item:str 产品代码 Y
        symbol:str 公司代码 Y
        op_income:str 月度营收 Y
        consop_income:str 合并月度营收 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'item' : 'str', 'symbol' : 'str', 'op_income' : 'str', 'consop_income' : 'str'}
        column_name_dict = {'date': '报告期', 'item': '产品代码', 'symbol': '公司代码', 'op_income': '月度营收', 'consop_income': '合并月度营收'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="tmt_twincomedetail",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bo_monthly(self,date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        电影月度票房
        https://tushare.pro/document/2?doc_id=113
        <参数>
        date:str 日期（每月1号） Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        name:str 影片名称 Y
        list_date:str 上映日期 Y
        avg_price:float 平均票价 Y
        month_amount:float 当月票房（万） Y
        list_day:int 月内天数 Y
        p_pc:int 场均人次 Y
        wom_index:float 口碑指数 Y
        m_ratio:float 月度占比（%） Y
        rank:int 排名 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'name' : 'str', 'list_date' : 'str', 'avg_price' : 'float', 'month_amount' : 'float', 'list_day' : 'int', 'p_pc' : 'int', 'wom_index' : 'float', 'm_ratio' : 'float', 'rank' : 'int'}
        column_name_dict = {'date': '日期', 'name': '影片名称', 'list_date': '上映日期', 'avg_price': '平均票价', 'month_amount': '当月票房万', 'list_day': '月内天数', 'p_pc': '场均人次', 'wom_index': '口碑指数', 'm_ratio': '月度占比百分比', 'rank': '排名'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bo_monthly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bo_weekly(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        电影周度票房
        https://tushare.pro/document/2?doc_id=114
        <参数>
        date:str 日期（每周一日期） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        name:str 影片名称 Y
        avg_price:float 平均票价 Y
        week_amount:float 当周票房（万） Y
        total:float 累计票房（万） Y
        list_day:int 上映天数 Y
        p_pc:int 场均人次 Y
        wom_index:float 口碑指数 Y
        up_ratio:float 环比变化 （%） Y
        rank:int 排名 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'name' : 'str', 'avg_price' : 'float', 'week_amount' : 'float', 'total' : 'float', 'list_day' : 'int', 'p_pc' : 'int', 'wom_index' : 'float', 'up_ratio' : 'float', 'rank' : 'int'}
        column_name_dict = {'date': '日期', 'name': '影片名称', 'avg_price': '平均票价', 'week_amount': '当周票房万', 'total': '累计票房万', 'list_day': '上映天数', 'p_pc': '场均人次', 'wom_index': '口碑指数', 'up_ratio': '环比变化百分比', 'rank': '排名'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bo_weekly",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bo_daily(self,date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        电影日度票房
        https://tushare.pro/document/2?doc_id=115
        <参数>
        date:str 日期 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        name:str 影片名称 Y
        avg_price:float 平均票价 Y
        day_amount:float 当日票房（万） Y
        total:float 累计票房（万） Y
        list_day:int 上映天数 Y
        p_pc:int 场均人次 Y
        wom_index:float 口碑指数 Y
        up_ratio:float 环比变化 （%） Y
        rank:int 排名 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'name' : 'str', 'avg_price' : 'float', 'day_amount' : 'float', 'total' : 'float', 'list_day' : 'int', 'p_pc' : 'int', 'wom_index' : 'float', 'up_ratio' : 'float', 'rank' : 'int'}
        column_name_dict = {'date': '日期', 'name': '影片名称', 'avg_price': '平均票价', 'day_amount': '当日票房万', 'total': '累计票房万', 'list_day': '上映天数', 'p_pc': '场均人次', 'wom_index': '口碑指数', 'up_ratio': '环比变化百分比', 'rank': '排名'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bo_daily",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bo_cinema(self,date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        影院每日票房
        https://tushare.pro/document/2?doc_id=116
        <参数>
        date:str 日期 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        c_name:str 影院名称 Y
        aud_count:int 观众人数 Y
        att_ratio:float 上座率 Y
        day_amount:float 当日票房 Y
        day_showcount:float 当日场次 Y
        avg_price:float 场均票价（元） Y
        p_pc:float 场均人次 Y
        rank:int 排名 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'c_name' : 'str', 'aud_count' : 'int', 'att_ratio' : 'float', 'day_amount' : 'float', 'day_showcount' : 'float', 'avg_price' : 'float', 'p_pc' : 'float', 'rank' : 'int'}
        column_name_dict = {'date': '日期', 'c_name': '影院名称', 'aud_count': '观众人数', 'att_ratio': '上座率', 'day_amount': '当日票房', 'day_showcount': '当日场次', 'avg_price': '场均票价元', 'p_pc': '场均人次', 'rank': '排名'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bo_cinema",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def film_record(self,ann_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        全国电影剧本备案数据
        https://tushare.pro/document/2?doc_id=156
        <参数>
        ann_date:str 公布日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        rec_no:str 备案号 Y
        film_name:str 影片名称 Y
        rec_org:str 备案单位 Y
        script_writer:str 编剧 Y
        rec_result:str 备案结果 Y
        rec_area:str 备案地 Y
        classified:str 影片分类 Y
        date_range:str 备案日期 Y
        ann_date:str 备案结果发布时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'rec_no' : 'str', 'film_name' : 'str', 'rec_org' : 'str', 'script_writer' : 'str', 'rec_result' : 'str', 'rec_area' : 'str', 'classified' : 'str', 'date_range' : 'str', 'ann_date' : 'str'}
        column_name_dict = {'rec_no': '备案号', 'film_name': '影片名称', 'rec_org': '备案单位', 'script_writer': '编剧', 'rec_result': '备案结果', 'rec_area': '备案地', 'classified': '影片分类', 'date_range': '备案日期', 'ann_date': '备案结果发布时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="film_record",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def teleplay_record(self,report_date: str = None, start_date: str = None, end_date: str = None, org: str = None, name: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        全国拍摄制作电视剧备案数据
        https://tushare.pro/document/2?doc_id=180
        <参数>
        report_date:str 备案月份 N
        start_date:str 备案开始月份（YYYYMM） N
        end_date:str 备案结束月份（YYYYMM） N
        org:str 备案机构 N
        name:str 电视剧名称 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        name:str 电视剧名称 Y
        classify:str 题材 Y
        types:str 体裁 Y
        org:str 报备机构 Y
        report_date:str 报备时间 Y
        license_key:str 许可证号 Y
        episodes:str 集数 Y
        shooting_date:str 拍摄时间 Y
        prod_cycle:str 制作周期 Y
        content:str 内容提要 Y
        pro_opi:str 省级管理部门备案意见 Y
        dept_opi:str 相关部门意见 Y
        remarks:str 备注 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'name' : 'str', 'classify' : 'str', 'types' : 'str', 'org' : 'str', 'report_date' : 'str', 'license_key' : 'str', 'episodes' : 'str', 'shooting_date' : 'str', 'prod_cycle' : 'str', 'content' : 'str', 'pro_opi' : 'str', 'dept_opi' : 'str', 'remarks' : 'str'}
        column_name_dict = {'name': '电视剧名称', 'classify': '题材', 'types': '体裁', 'org': '报备机构', 'report_date': '报备时间', 'license_key': '许可证号', 'episodes': '集数', 'shooting_date': '拍摄时间', 'prod_cycle': '制作周期', 'content': '内容提要', 'pro_opi': '省级管理部门备案意见', 'dept_opi': '相关部门意见', 'remarks': '备注'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="teleplay_record",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def shibor(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        Shibor利率数据
        https://tushare.pro/document/2?doc_id=149
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        on:float 隔夜 Y
        1w:float 1周 Y
        2w:float 2周 Y
        1m:float 1月 Y
        3m:float 3月 Y
        6m:float 6月 Y
        9m:float 9月 Y
        1y:float 1年 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'on' : 'float', '1w' : 'float', '2w' : 'float', '1m' : 'float', '3m' : 'float', '6m' : 'float', '9m' : 'float', '1y' : 'float'}
        column_name_dict = {'date': '日期', 'on': '隔夜', '1w': '1周', '2w': '2周', '1m': '1月', '3m': '3月', '6m': '6月', '9m': '9月', '1y': '1年'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="shibor",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def shibor_quote(self,date: str = None, start_date: str = None, end_date: str = None, bank: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        Shibor报价数据
        https://tushare.pro/document/2?doc_id=150
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        bank:str 银行名称 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        bank:str 报价银行 Y
        on_b:float 隔夜_Bid Y
        on_a:float 隔夜_Ask Y
        1w_b:float 1周_Bid Y
        1w_a:float 1周_Ask Y
        2w_b:float 2周_Bid Y
        2w_a:float 2周_Ask Y
        1m_b:float 1月_Bid Y
        1m_a:float 1月_Ask Y
        3m_b:float 3月_Bid Y
        3m_a:float 3月_Ask Y
        6m_b:float 6月_Bid Y
        6m_a:float 6月_Ask Y
        9m_b:float 9月_Bid Y
        9m_a:float 9月_Ask Y
        1y_b:float 1年_Bid Y
        1y_a:float 1年_Ask Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'bank' : 'str', 'on_b' : 'float', 'on_a' : 'float', '1w_b' : 'float', '1w_a' : 'float', '2w_b' : 'float', '2w_a' : 'float', '1m_b' : 'float', '1m_a' : 'float', '3m_b' : 'float', '3m_a' : 'float', '6m_b' : 'float', '6m_a' : 'float', '9m_b' : 'float', '9m_a' : 'float', '1y_b' : 'float', '1y_a' : 'float'}
        column_name_dict = {'date': '日期', 'bank': '报价银行', 'on_b': '隔夜_Bid', 'on_a': '隔夜_Ask', '1w_b': '1周_Bid', '1w_a': '1周_Ask', '2w_b': '2周_Bid', '2w_a': '2周_Ask', '1m_b': '1月_Bid', '1m_a': '1月_Ask', '3m_b': '3月_Bid', '3m_a': '3月_Ask', '6m_b': '6月_Bid', '6m_a': '6月_Ask', '9m_b': '9月_Bid', '9m_a': '9月_Ask', '1y_b': '1年_Bid', '1y_a': '1年_Ask'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="shibor_quote",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def shibor_lpr(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        LPR贷款基础利率
        https://tushare.pro/document/2?doc_id=151
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        1y:float 1年贷款利率 Y
        5y:float 5年贷款利率 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', '1y' : 'float', '5y' : 'float'}
        column_name_dict = {'date': '日期', '1y': '1年贷款利率', '5y': '5年贷款利率'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="shibor_lpr",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def libor(self,date: str = None, start_date: str = None, end_date: str = None, curr_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        Libor拆借利率
        https://tushare.pro/document/2?doc_id=152
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        curr_type:str 货币代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        curr_type:str 货币 Y
        on:float 隔夜 Y
        1w:float 1周 Y
        1m:float 1个月 Y
        2m:float 2个月 Y
        3m:float 3个月 Y
        6m:float 6个月 Y
        12m:float 12个月 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'curr_type' : 'str', 'on' : 'float', '1w' : 'float', '1m' : 'float', '2m' : 'float', '3m' : 'float', '6m' : 'float', '12m' : 'float'}
        column_name_dict = {'date': '日期', 'curr_type': '货币', 'on': '隔夜', '1w': '1周', '1m': '1个月', '2m': '2个月', '3m': '3个月', '6m': '6个月', '12m': '12个月'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="libor",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def hibor(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        Hibor利率
        https://tushare.pro/document/2?doc_id=153
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        on:float 隔夜 Y
        1w:float 1周 Y
        2w:float 2周 Y
        1m:float 1个月 Y
        2m:float 2个月 Y
        3m:float 3个月 Y
        6m:float 6个月 Y
        12m:float 12个月 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'on' : 'float', '1w' : 'float', '2w' : 'float', '1m' : 'float', '2m' : 'float', '3m' : 'float', '6m' : 'float', '12m' : 'float'}
        column_name_dict = {'date': '日期', 'on': '隔夜', '1w': '1周', '2w': '2周', '1m': '1个月', '2m': '2个月', '3m': '3个月', '6m': '6个月', '12m': '12个月'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="hibor",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def wz_index(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        温州民间借贷利率
        https://tushare.pro/document/2?doc_id=173
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        comp_rate:float 温州民间融资综合利率指数 Y
        center_rate:float 民间借贷服务中心利率 Y
        micro_rate:float 小额贷款公司放款利率 Y
        cm_rate:float 民间资本管理公司融资价格 Y
        sdb_rate:float 社会直接借贷利率 Y
        om_rate:float 其他市场主体利率 Y
        aa_rate:float 农村互助会互助金费率 Y
        m1_rate:float 温州地区民间借贷分期限利率（一月期） Y
        m3_rate:float 温州地区民间借贷分期限利率（三月期） Y
        m6_rate:float 温州地区民间借贷分期限利率（六月期） Y
        m12_rate:float 温州地区民间借贷分期限利率（一年期） Y
        long_rate:float 温州地区民间借贷分期限利率（长期） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'comp_rate' : 'float', 'center_rate' : 'float', 'micro_rate' : 'float', 'cm_rate' : 'float', 'sdb_rate' : 'float', 'om_rate' : 'float', 'aa_rate' : 'float', 'm1_rate' : 'float', 'm3_rate' : 'float', 'm6_rate' : 'float', 'm12_rate' : 'float', 'long_rate' : 'float'}
        column_name_dict = {'date': '日期', 'comp_rate': '温州民间融资综合利率指数', 'center_rate': '民间借贷服务中心利率', 'micro_rate': '小额贷款公司放款利率', 'cm_rate': '民间资本管理公司融资价格', 'sdb_rate': '社会直接借贷利率', 'om_rate': '其他市场主体利率', 'aa_rate': '农村互助会互助金费率', 'm1_rate': '温州地区民间借贷分期限利率一月期', 'm3_rate': '温州地区民间借贷分期限利率三月期', 'm6_rate': '温州地区民间借贷分期限利率六月期', 'm12_rate': '温州地区民间借贷分期限利率一年期', 'long_rate': '温州地区民间借贷分期限利率长期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="wz_index",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def gz_index(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        广州民间借贷利率
        https://tushare.pro/document/2?doc_id=174
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        d10_rate:float 小额贷市场平均利率（十天） Y
        m1_rate:float 小额贷市场平均利率（一月期） Y
        m3_rate:float 小额贷市场平均利率（三月期） Y
        m6_rate:float 小额贷市场平均利率（六月期） Y
        m12_rate:float 小额贷市场平均利率（一年期） Y
        long_rate:float 小额贷市场平均利率（长期） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'd10_rate' : 'float', 'm1_rate' : 'float', 'm3_rate' : 'float', 'm6_rate' : 'float', 'm12_rate' : 'float', 'long_rate' : 'float'}
        column_name_dict = {'date': '日期', 'd10_rate': '小额贷市场平均利率十天', 'm1_rate': '小额贷市场平均利率一月期', 'm3_rate': '小额贷市场平均利率三月期', 'm6_rate': '小额贷市场平均利率六月期', 'm12_rate': '小额贷市场平均利率一年期', 'long_rate': '小额贷市场平均利率长期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="gz_index",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cn_gdp(self,q: str = None, start_q: str = None, end_q: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        GDP
        https://tushare.pro/document/2?doc_id=227
        <参数>
        q:str 季度 N
        start_q:str 开始季度 N
        end_q:str 结束季度 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        quarter:str 季度 Y
        gdp:float GDP累计值（亿元） Y
        gdp_yoy:float 当季同比增速（%） Y
        pi:float 第一产业累计值（亿元） Y
        pi_yoy:float 第一产业同比增速（%） Y
        si:float 第二产业累计值（亿元） Y
        si_yoy:float 第二产业同比增速（%） Y
        ti:float 第三产业累计值（亿元） Y
        ti_yoy:float 第三产业同比增速（%） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'quarter' : 'str', 'gdp' : 'float', 'gdp_yoy' : 'float', 'pi' : 'float', 'pi_yoy' : 'float', 'si' : 'float', 'si_yoy' : 'float', 'ti' : 'float', 'ti_yoy' : 'float'}
        column_name_dict = {'quarter': '季度', 'gdp': 'GDP累计值亿元', 'gdp_yoy': '当季同比增速百分比', 'pi': '第一产业累计值亿元', 'pi_yoy': '第一产业同比增速百分比', 'si': '第二产业累计值亿元', 'si_yoy': '第二产业同比增速百分比', 'ti': '第三产业累计值亿元', 'ti_yoy': '第三产业同比增速百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cn_gdp",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cn_cpi(self,m: str = None, start_m: str = None, end_m: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        居民消费价格指数
        https://tushare.pro/document/2?doc_id=228
        <参数>
        m:str 月份（YYYYMM，下同），支持多个月份同时输入，逗号分隔 N
        start_m:str 开始月份 N
        end_m:str 结束月份 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        month:str 月份YYYYMM Y
        nt_val:float 全国当月至 Y
        nt_yoy:float 全国同比（%） Y
        nt_mom:float 全国环比（%） Y
        nt_accu:float 全国累计值 Y
        town_val:float 城市当值月 Y
        town_yoy:float 城市同比（%） Y
        town_mom:float 城市环比（%） Y
        town_accu:float 城市累计值 Y
        cnt_val:float 农村当月值 Y
        cnt_yoy:float 农村同比（%） Y
        cnt_mom:float 农村环比（%） Y
        cnt_accu:float 农村累计值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'month' : 'str', 'nt_val' : 'float', 'nt_yoy' : 'float', 'nt_mom' : 'float', 'nt_accu' : 'float', 'town_val' : 'float', 'town_yoy' : 'float', 'town_mom' : 'float', 'town_accu' : 'float', 'cnt_val' : 'float', 'cnt_yoy' : 'float', 'cnt_mom' : 'float', 'cnt_accu' : 'float'}
        column_name_dict = {'month': '月份YYYYMM', 'nt_val': '全国当月至', 'nt_yoy': '全国同比百分比', 'nt_mom': '全国环比百分比', 'nt_accu': '全国累计值', 'town_val': '城市当值月', 'town_yoy': '城市同比百分比', 'town_mom': '城市环比百分比', 'town_accu': '城市累计值', 'cnt_val': '农村当月值', 'cnt_yoy': '农村同比百分比', 'cnt_mom': '农村环比百分比', 'cnt_accu': '农村累计值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cn_cpi",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cn_ppi(self,m: str = None, start_m: str = None, end_m: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        工业生产者出厂价格指数
        https://tushare.pro/document/2?doc_id=245
        <参数>
        m:str 月份（YYYYMM，下同），支持多个月份同时输入，逗号分隔 N
        start_m:str 开始月份 N
        end_m:str 结束月份 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        month:str 月份YYYYMM Y
        ppi_yoy:float PPI：全部工业品：当月同比 Y
        ppi_mp_yoy:float PPI：生产资料：当月同比 Y
        ppi_mp_qm_yoy:float PPI：生产资料：采掘业：当月同比 Y
        ppi_mp_rm_yoy:float PPI：生产资料：原料业：当月同比 Y
        ppi_mp_p_yoy:float PPI：生产资料：加工业：当月同比 Y
        ppi_cg_yoy:float PPI：生活资料：当月同比 Y
        ppi_cg_f_yoy:float PPI：生活资料：食品类：当月同比 Y
        ppi_cg_c_yoy:float PPI：生活资料：衣着类：当月同比 Y
        ppi_cg_adu_yoy:float PPI：生活资料：一般日用品类：当月同比 Y
        ppi_cg_dcg_yoy:float PPI：生活资料：耐用消费品类：当月同比 Y
        ppi_mom:float PPI：全部工业品：环比 Y
        ppi_mp_mom:float PPI：生产资料：环比 Y
        ppi_mp_qm_mom:float PPI：生产资料：采掘业：环比 Y
        ppi_mp_rm_mom:float PPI：生产资料：原料业：环比 Y
        ppi_mp_p_mom:float PPI：生产资料：加工业：环比 Y
        ppi_cg_mom:float PPI：生活资料：环比 Y
        ppi_cg_f_mom:float PPI：生活资料：食品类：环比 Y
        ppi_cg_c_mom:float PPI：生活资料：衣着类：环比 Y
        ppi_cg_adu_mom:float PPI：生活资料：一般日用品类：环比 Y
        ppi_cg_dcg_mom:float PPI：生活资料：耐用消费品类：环比 Y
        ppi_accu:float PPI：全部工业品：累计同比 Y
        ppi_mp_accu:float PPI：生产资料：累计同比 Y
        ppi_mp_qm_accu:float PPI：生产资料：采掘业：累计同比 Y
        ppi_mp_rm_accu:float PPI：生产资料：原料业：累计同比 Y
        ppi_mp_p_accu:float PPI：生产资料：加工业：累计同比 Y
        ppi_cg_accu:float PPI：生活资料：累计同比 Y
        ppi_cg_f_accu:float PPI：生活资料：食品类：累计同比 Y
        ppi_cg_c_accu:float PPI：生活资料：衣着类：累计同比 Y
        ppi_cg_adu_accu:float PPI：生活资料：一般日用品类：累计同比 Y
        ppi_cg_dcg_accu:float PPI：生活资料：耐用消费品类：累计同比 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'month' : 'str', 'ppi_yoy' : 'float', 'ppi_mp_yoy' : 'float', 'ppi_mp_qm_yoy' : 'float', 'ppi_mp_rm_yoy' : 'float', 'ppi_mp_p_yoy' : 'float', 'ppi_cg_yoy' : 'float', 'ppi_cg_f_yoy' : 'float', 'ppi_cg_c_yoy' : 'float', 'ppi_cg_adu_yoy' : 'float', 'ppi_cg_dcg_yoy' : 'float', 'ppi_mom' : 'float', 'ppi_mp_mom' : 'float', 'ppi_mp_qm_mom' : 'float', 'ppi_mp_rm_mom' : 'float', 'ppi_mp_p_mom' : 'float', 'ppi_cg_mom' : 'float', 'ppi_cg_f_mom' : 'float', 'ppi_cg_c_mom' : 'float', 'ppi_cg_adu_mom' : 'float', 'ppi_cg_dcg_mom' : 'float', 'ppi_accu' : 'float', 'ppi_mp_accu' : 'float', 'ppi_mp_qm_accu' : 'float', 'ppi_mp_rm_accu' : 'float', 'ppi_mp_p_accu' : 'float', 'ppi_cg_accu' : 'float', 'ppi_cg_f_accu' : 'float', 'ppi_cg_c_accu' : 'float', 'ppi_cg_adu_accu' : 'float', 'ppi_cg_dcg_accu' : 'float'}
        column_name_dict = {'month': '月份YYYYMM', 'ppi_yoy': 'PPI：全部工业品：当月同比', 'ppi_mp_yoy': 'PPI：生产资料：当月同比', 'ppi_mp_qm_yoy': 'PPI：生产资料：采掘业：当月同比', 'ppi_mp_rm_yoy': 'PPI：生产资料：原料业：当月同比', 'ppi_mp_p_yoy': 'PPI：生产资料：加工业：当月同比', 'ppi_cg_yoy': 'PPI：生活资料：当月同比', 'ppi_cg_f_yoy': 'PPI：生活资料：食品类：当月同比', 'ppi_cg_c_yoy': 'PPI：生活资料：衣着类：当月同比', 'ppi_cg_adu_yoy': 'PPI：生活资料：一般日用品类：当月同比', 'ppi_cg_dcg_yoy': 'PPI：生活资料：耐用消费品类：当月同比', 'ppi_mom': 'PPI：全部工业品：环比', 'ppi_mp_mom': 'PPI：生产资料：环比', 'ppi_mp_qm_mom': 'PPI：生产资料：采掘业：环比', 'ppi_mp_rm_mom': 'PPI：生产资料：原料业：环比', 'ppi_mp_p_mom': 'PPI：生产资料：加工业：环比', 'ppi_cg_mom': 'PPI：生活资料：环比', 'ppi_cg_f_mom': 'PPI：生活资料：食品类：环比', 'ppi_cg_c_mom': 'PPI：生活资料：衣着类：环比', 'ppi_cg_adu_mom': 'PPI：生活资料：一般日用品类：环比', 'ppi_cg_dcg_mom': 'PPI：生活资料：耐用消费品类：环比', 'ppi_accu': 'PPI：全部工业品：累计同比', 'ppi_mp_accu': 'PPI：生产资料：累计同比', 'ppi_mp_qm_accu': 'PPI：生产资料：采掘业：累计同比', 'ppi_mp_rm_accu': 'PPI：生产资料：原料业：累计同比', 'ppi_mp_p_accu': 'PPI：生产资料：加工业：累计同比', 'ppi_cg_accu': 'PPI：生活资料：累计同比', 'ppi_cg_f_accu': 'PPI：生活资料：食品类：累计同比', 'ppi_cg_c_accu': 'PPI：生活资料：衣着类：累计同比', 'ppi_cg_adu_accu': 'PPI：生活资料：一般日用品类：累计同比', 'ppi_cg_dcg_accu': 'PPI：生活资料：耐用消费品类：累计同比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cn_ppi",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cn_m(self,m: str = None, start_m: str = None, end_m: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        货币供应量
        https://tushare.pro/document/2?doc_id=242
        <参数>
        m:str 月度（202001表示，2020年1月） N
        start_m:str 开始月度 N
        end_m:str 结束月度 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        month:str 月份YYYYMM Y
        m0:float M0（亿元） Y
        m0_yoy:float M0同比（%） Y
        m0_mom:float M0环比（%） Y
        m1:float M1（亿元） Y
        m1_yoy:float M1同比（%） Y
        m1_mom:float M1环比（%） Y
        m2:float M2（亿元） Y
        m2_yoy:float M2同比（%） Y
        m2_mom:float M2环比（%） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'month' : 'str', 'm0' : 'float', 'm0_yoy' : 'float', 'm0_mom' : 'float', 'm1' : 'float', 'm1_yoy' : 'float', 'm1_mom' : 'float', 'm2' : 'float', 'm2_yoy' : 'float', 'm2_mom' : 'float'}
        column_name_dict = {'month': '月份YYYYMM', 'm0': 'M0亿元', 'm0_yoy': 'M0同比百分比', 'm0_mom': 'M0环比百分比', 'm1': 'M1亿元', 'm1_yoy': 'M1同比百分比', 'm1_mom': 'M1环比百分比', 'm2': 'M2亿元', 'm2_yoy': 'M2同比百分比', 'm2_mom': 'M2环比百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cn_m",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def sf_month(self,m: str = None, start_m: str = None, end_m: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        社融数据（月度）
        https://tushare.pro/document/2?doc_id=310
        <参数>
        m:str 月份（YYYYMM，下同），支持多个月份同时输入，逗号分隔 N
        start_m:str 开始月份 N
        end_m:str 结束月份 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        month:str 月度 Y
        inc_month:float 社融增量当月值（亿元） Y
        inc_cumval:float 社融增量累计值（亿元） Y
        stk_endval:float 社融存量期末值（万亿元） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'month' : 'str', 'inc_month' : 'float', 'inc_cumval' : 'float', 'stk_endval' : 'float'}
        column_name_dict = {'month': '月度', 'inc_month': '社融增量当月值亿元', 'inc_cumval': '社融增量累计值亿元', 'stk_endval': '社融存量期末值万亿元'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="sf_month",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cn_pmi(self,m: str = None, start_m: str = None, end_m: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        采购经理人指数
        https://tushare.pro/document/2?doc_id=325
        <参数>
        m:str 月度（202401表示，2024年1月） N
        start_m:str 开始月度 N
        end_m:str 结束月度 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        month:str 月份YYYYMM N
        pmi010000:float 制造业PMI N
        pmi010100:float 制造业PMI:企业规模/大型企业 N
        pmi010200:float 制造业PMI:企业规模/中型企业 N
        pmi010300:float 制造业PMI:企业规模/小型企业 N
        pmi010400:float 制造业PMI:构成指数/生产指数 N
        pmi010401:float 制造业PMI:构成指数/生产指数:企业规模/大型企业 N
        pmi010402:float 制造业PMI:构成指数/生产指数:企业规模/中型企业 N
        pmi010403:float 制造业PMI:构成指数/生产指数:企业规模/小型企业 N
        pmi010500:float 制造业PMI:构成指数/新订单指数 N
        pmi010501:float 制造业PMI:构成指数/新订单指数:企业规模/大型企业 N
        pmi010502:float 制造业PMI:构成指数/新订单指数:企业规模/中型企业 N
        pmi010503:float 制造业PMI:构成指数/新订单指数:企业规模/小型企业 N
        pmi010600:float 制造业PMI:构成指数/供应商配送时间指数 N
        pmi010601:float 制造业PMI:构成指数/供应商配送时间指数:企业规模/大型企业 N
        pmi010602:float 制造业PMI:构成指数/供应商配送时间指数:企业规模/中型企业 N
        pmi010603:float 制造业PMI:构成指数/供应商配送时间指数:企业规模/小型企业 N
        pmi010700:float 制造业PMI:构成指数/原材料库存指数 N
        pmi010701:float 制造业PMI:构成指数/原材料库存指数:企业规模/大型企业 N
        pmi010702:float 制造业PMI:构成指数/原材料库存指数:企业规模/中型企业 N
        pmi010703:float 制造业PMI:构成指数/原材料库存指数:企业规模/小型企业 N
        pmi010800:float 制造业PMI:构成指数/从业人员指数 N
        pmi010801:float 制造业PMI:构成指数/从业人员指数:企业规模/大型企业 N
        pmi010802:float 制造业PMI:构成指数/从业人员指数:企业规模/中型企业 N
        pmi010803:float 制造业PMI:构成指数/从业人员指数:企业规模/小型企业 N
        pmi010900:float 制造业PMI:其他/新出口订单 N
        pmi011000:float 制造业PMI:其他/进口 N
        pmi011100:float 制造业PMI:其他/采购量 N
        pmi011200:float 制造业PMI:其他/主要原材料购进价格 N
        pmi011300:float 制造业PMI:其他/出厂价格 N
        pmi011400:float 制造业PMI:其他/产成品库存 N
        pmi011500:float 制造业PMI:其他/在手订单 N
        pmi011600:float 制造业PMI:其他/生产经营活动预期 N
        pmi011700:float 制造业PMI:分行业/装备制造业 N
        pmi011800:float 制造业PMI:分行业/高技术制造业 N
        pmi011900:float 制造业PMI:分行业/基础原材料制造业 N
        pmi012000:float 制造业PMI:分行业/消费品制造业 N
        pmi020100:float 非制造业PMI:商务活动 N
        pmi020101:float 非制造业PMI:商务活动:分行业/建筑业 N
        pmi020102:float 非制造业PMI:商务活动:分行业/服务业业 N
        pmi020200:float 非制造业PMI:新订单指数 N
        pmi020201:float 非制造业PMI:新订单指数:分行业/建筑业 N
        pmi020202:float 非制造业PMI:新订单指数:分行业/服务业 N
        pmi020300:float 非制造业PMI:投入品价格指数 N
        pmi020301:float 非制造业PMI:投入品价格指数:分行业/建筑业 N
        pmi020302:float 非制造业PMI:投入品价格指数:分行业/服务业 N
        pmi020400:float 非制造业PMI:销售价格指数 N
        pmi020401:float 非制造业PMI:销售价格指数:分行业/建筑业 N
        pmi020402:float 非制造业PMI:销售价格指数:分行业/服务业 N
        pmi020500:float 非制造业PMI:从业人员指数 N
        pmi020501:float 非制造业PMI:从业人员指数:分行业/建筑业 N
        pmi020502:float 非制造业PMI:从业人员指数:分行业/服务业 N
        pmi020600:float 非制造业PMI:业务活动预期指数 N
        pmi020601:float 非制造业PMI:业务活动预期指数:分行业/建筑业 N
        pmi020602:float 非制造业PMI:业务活动预期指数:分行业/服务业 N
        pmi020700:float 非制造业PMI:新出口订单 N
        pmi020800:float 非制造业PMI:在手订单 N
        pmi020900:float 非制造业PMI:存货 N
        pmi021000:float 非制造业PMI:供应商配送时间 N
        pmi030000:float 中国综合PMI:产出指数 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'month' : 'str', 'pmi010000' : 'float', 'pmi010100' : 'float', 'pmi010200' : 'float', 'pmi010300' : 'float', 'pmi010400' : 'float', 'pmi010401' : 'float', 'pmi010402' : 'float', 'pmi010403' : 'float', 'pmi010500' : 'float', 'pmi010501' : 'float', 'pmi010502' : 'float', 'pmi010503' : 'float', 'pmi010600' : 'float', 'pmi010601' : 'float', 'pmi010602' : 'float', 'pmi010603' : 'float', 'pmi010700' : 'float', 'pmi010701' : 'float', 'pmi010702' : 'float', 'pmi010703' : 'float', 'pmi010800' : 'float', 'pmi010801' : 'float', 'pmi010802' : 'float', 'pmi010803' : 'float', 'pmi010900' : 'float', 'pmi011000' : 'float', 'pmi011100' : 'float', 'pmi011200' : 'float', 'pmi011300' : 'float', 'pmi011400' : 'float', 'pmi011500' : 'float', 'pmi011600' : 'float', 'pmi011700' : 'float', 'pmi011800' : 'float', 'pmi011900' : 'float', 'pmi012000' : 'float', 'pmi020100' : 'float', 'pmi020101' : 'float', 'pmi020102' : 'float', 'pmi020200' : 'float', 'pmi020201' : 'float', 'pmi020202' : 'float', 'pmi020300' : 'float', 'pmi020301' : 'float', 'pmi020302' : 'float', 'pmi020400' : 'float', 'pmi020401' : 'float', 'pmi020402' : 'float', 'pmi020500' : 'float', 'pmi020501' : 'float', 'pmi020502' : 'float', 'pmi020600' : 'float', 'pmi020601' : 'float', 'pmi020602' : 'float', 'pmi020700' : 'float', 'pmi020800' : 'float', 'pmi020900' : 'float', 'pmi021000' : 'float', 'pmi030000' : 'float'}
        column_name_dict = {'month': '月份YYYYMM', 'pmi010000': '制造业PMI', 'pmi010100': '制造业PMI:企业规模/大型企业', 'pmi010200': '制造业PMI:企业规模/中型企业', 'pmi010300': '制造业PMI:企业规模/小型企业', 'pmi010400': '制造业PMI:构成指数/生产指数', 'pmi010401': '制造业PMI:构成指数/生产指数:企业规模/大型企业', 'pmi010402': '制造业PMI:构成指数/生产指数:企业规模/中型企业', 'pmi010403': '制造业PMI:构成指数/生产指数:企业规模/小型企业', 'pmi010500': '制造业PMI:构成指数/新订单指数', 'pmi010501': '制造业PMI:构成指数/新订单指数:企业规模/大型企业', 'pmi010502': '制造业PMI:构成指数/新订单指数:企业规模/中型企业', 'pmi010503': '制造业PMI:构成指数/新订单指数:企业规模/小型企业', 'pmi010600': '制造业PMI:构成指数/供应商配送时间指数', 'pmi010601': '制造业PMI:构成指数/供应商配送时间指数:企业规模/大型企业', 'pmi010602': '制造业PMI:构成指数/供应商配送时间指数:企业规模/中型企业', 'pmi010603': '制造业PMI:构成指数/供应商配送时间指数:企业规模/小型企业', 'pmi010700': '制造业PMI:构成指数/原材料库存指数', 'pmi010701': '制造业PMI:构成指数/原材料库存指数:企业规模/大型企业', 'pmi010702': '制造业PMI:构成指数/原材料库存指数:企业规模/中型企业', 'pmi010703': '制造业PMI:构成指数/原材料库存指数:企业规模/小型企业', 'pmi010800': '制造业PMI:构成指数/从业人员指数', 'pmi010801': '制造业PMI:构成指数/从业人员指数:企业规模/大型企业', 'pmi010802': '制造业PMI:构成指数/从业人员指数:企业规模/中型企业', 'pmi010803': '制造业PMI:构成指数/从业人员指数:企业规模/小型企业', 'pmi010900': '制造业PMI:其他/新出口订单', 'pmi011000': '制造业PMI:其他/进口', 'pmi011100': '制造业PMI:其他/采购量', 'pmi011200': '制造业PMI:其他/主要原材料购进价格', 'pmi011300': '制造业PMI:其他/出厂价格', 'pmi011400': '制造业PMI:其他/产成品库存', 'pmi011500': '制造业PMI:其他/在手订单', 'pmi011600': '制造业PMI:其他/生产经营活动预期', 'pmi011700': '制造业PMI:分行业/装备制造业', 'pmi011800': '制造业PMI:分行业/高技术制造业', 'pmi011900': '制造业PMI:分行业/基础原材料制造业', 'pmi012000': '制造业PMI:分行业/消费品制造业', 'pmi020100': '非制造业PMI:商务活动', 'pmi020101': '非制造业PMI:商务活动:分行业/建筑业', 'pmi020102': '非制造业PMI:商务活动:分行业/服务业业', 'pmi020200': '非制造业PMI:新订单指数', 'pmi020201': '非制造业PMI:新订单指数:分行业/建筑业', 'pmi020202': '非制造业PMI:新订单指数:分行业/服务业', 'pmi020300': '非制造业PMI:投入品价格指数', 'pmi020301': '非制造业PMI:投入品价格指数:分行业/建筑业', 'pmi020302': '非制造业PMI:投入品价格指数:分行业/服务业', 'pmi020400': '非制造业PMI:销售价格指数', 'pmi020401': '非制造业PMI:销售价格指数:分行业/建筑业', 'pmi020402': '非制造业PMI:销售价格指数:分行业/服务业', 'pmi020500': '非制造业PMI:从业人员指数', 'pmi020501': '非制造业PMI:从业人员指数:分行业/建筑业', 'pmi020502': '非制造业PMI:从业人员指数:分行业/服务业', 'pmi020600': '非制造业PMI:业务活动预期指数', 'pmi020601': '非制造业PMI:业务活动预期指数:分行业/建筑业', 'pmi020602': '非制造业PMI:业务活动预期指数:分行业/服务业', 'pmi020700': '非制造业PMI:新出口订单', 'pmi020800': '非制造业PMI:在手订单', 'pmi020900': '非制造业PMI:存货', 'pmi021000': '非制造业PMI:供应商配送时间', 'pmi030000': '中国综合PMI:产出指数'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cn_pmi",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_tycr(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        国债收益率曲线利率（日频）
        https://tushare.pro/document/2?doc_id=219
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        fields:str 指定字段 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        m1:float 1月期 Y
        m2:float 2月期 Y
        m3:float 3月期 Y
        m6:float 6月期 Y
        y1:float 1年期 Y
        y2:float 2年期 Y
        y3:float 3年期 Y
        y5:float 5年期 Y
        y7:float 7年期 Y
        y10:float 10年期 Y
        y20:float 20年期 Y
        y30:float 30年期 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'm1' : 'float', 'm2' : 'float', 'm3' : 'float', 'm6' : 'float', 'y1' : 'float', 'y2' : 'float', 'y3' : 'float', 'y5' : 'float', 'y7' : 'float', 'y10' : 'float', 'y20' : 'float', 'y30' : 'float'}
        column_name_dict = {'date': '日期', 'm1': '1月期', 'm2': '2月期', 'm3': '3月期', 'm6': '6月期', 'y1': '1年期', 'y2': '2年期', 'y3': '3年期', 'y5': '5年期', 'y7': '7年期', 'y10': '10年期', 'y20': '20年期', 'y30': '30年期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_tycr",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_trycr(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        国债实际收益率曲线利率
        https://tushare.pro/document/2?doc_id=220
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        fields:str 指定字段 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        y5:float 5年期 Y
        y7:float 7年期 Y
        y10:float 10年期 Y
        y20:float 20年期 Y
        y30:float 30年期 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'y5' : 'float', 'y7' : 'float', 'y10' : 'float', 'y20' : 'float', 'y30' : 'float'}
        column_name_dict = {'date': '日期', 'y5': '5年期', 'y7': '7年期', 'y10': '10年期', 'y20': '20年期', 'y30': '30年期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_trycr",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_tbr(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        短期国债利率
        https://tushare.pro/document/2?doc_id=221
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        fields:str 指定字段 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        w4_bd:float 4周银行折现收益率 Y
        w4_ce:float 4周票面利率 Y
        w8_bd:float 8周银行折现收益率 Y
        w8_ce:float 8周票面利率 Y
        w13_bd:float 13周银行折现收益率 Y
        w13_ce:float 13周票面利率 Y
        w26_bd:float 26周银行折现收益率 Y
        w26_ce:float 26周票面利率 Y
        w52_bd:float 52周银行折现收益率 Y
        w52_ce:float 52周票面利率 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'w4_bd' : 'float', 'w4_ce' : 'float', 'w8_bd' : 'float', 'w8_ce' : 'float', 'w13_bd' : 'float', 'w13_ce' : 'float', 'w26_bd' : 'float', 'w26_ce' : 'float', 'w52_bd' : 'float', 'w52_ce' : 'float'}
        column_name_dict = {'date': '日期', 'w4_bd': '4周银行折现收益率', 'w4_ce': '4周票面利率', 'w8_bd': '8周银行折现收益率', 'w8_ce': '8周票面利率', 'w13_bd': '13周银行折现收益率', 'w13_ce': '13周票面利率', 'w26_bd': '26周银行折现收益率', 'w26_ce': '26周票面利率', 'w52_bd': '52周银行折现收益率', 'w52_ce': '52周票面利率'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_tbr",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_tltr(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        国债长期利率
        https://tushare.pro/document/2?doc_id=222
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        fields:str 指定字段 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        ltc:float 收益率 LT COMPOSITE (>10 Yrs) Y
        cmt:float 20年期CMT利率(TREASURY 20-Yr CMT) Y
        e_factor:float 外推因子EXTRAPOLATION FACTOR Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'ltc' : 'float', 'cmt' : 'float', 'e_factor' : 'float'}
        column_name_dict = {'date': '日期', 'ltc': '收益率LTCOMPOSITE>10Yrs', 'cmt': '20年期CMT利率TREASURY20-YrCMT', 'e_factor': '外推因子EXTRAPOLATIONFACTOR'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_tltr",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def us_trltr(self,date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        国债实际长期利率平均值
        https://tushare.pro/document/2?doc_id=223
        <参数>
        date:str 日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        fields:str 指定字段 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        ltr_avg:float 实际平均利率LT Real Average (10> Yrs) Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'ltr_avg' : 'float'}
        column_name_dict = {'date': '日期', 'ltr_avg': '实际平均利率LTRealAverage10>Yrs'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="us_trltr",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_sales_ratio(self,年份: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        各渠道公募基金销售保有规模占比
        https://tushare.pro/document/2?doc_id=265
        <参数>
        年份:str 年度 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        year:int 年度 Y
        bank:float 商业银行（%） Y
        sec_comp:float 证券公司（%） Y
        fund_comp:float 基金公司直销（%） Y
        indep_comp:float 独立基金销售机构（%） Y
        rests:float 其他（%） Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'year' : 'int', 'bank' : 'float', 'sec_comp' : 'float', 'fund_comp' : 'float', 'indep_comp' : 'float', 'rests' : 'float'}
        column_name_dict = {'year': '年度', 'bank': '商业银行百分比', 'sec_comp': '证券公司百分比', 'fund_comp': '基金公司直销百分比', 'indep_comp': '独立基金销售机构百分比', 'rests': '其他百分比'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_sales_ratio",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def fund_sales_vol(self,year: str = None, quarter: str = None, name: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        销售机构公募基金销售保有规模
        https://tushare.pro/document/2?doc_id=266
        <参数>
        year:str 年度 N
        quarter:str 季度 N
        name:str 机构名称 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        year:int 年度 Y
        quarter:str 季度 Y
        inst_name:str 销售机构 Y
        fund_scale:float 股票+混合公募基金保有规模（亿元） Y
        scale:float 非货币市场公募基金保有规模(亿元) Y
        rank:int 排名 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'year' : 'int', 'quarter' : 'str', 'inst_name' : 'str', 'fund_scale' : 'float', 'scale' : 'float', 'rank' : 'int'}
        column_name_dict = {'year': '年度', 'quarter': '季度', 'inst_name': '销售机构', 'fund_scale': '股票+混合公募基金保有规模亿元', 'scale': '非货币市场公募基金保有规模亿元', 'rank': '排名'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="fund_sales_vol",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def news(self,start_date: str = None, end_date: str = None, src: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        新闻资讯
        https://tushare.pro/document/2?doc_id=143
        <参数>
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        src:str 新闻来源sina新浪财经 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        datetime:str 时间 Y
        content:str 内容 Y
        title:str 标题 Y
        channels:str 分类 N
        score:str 分值 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'datetime' : 'str', 'content' : 'str', 'title' : 'str', 'channels' : 'str', 'score' : 'str'}
        column_name_dict = {'datetime': '时间', 'content': '内容', 'title': '标题', 'channels': '分类', 'score': '分值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="news",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def major_news(self,src: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        新闻通讯
        https://tushare.pro/document/2?doc_id=195
        <参数>
        src:str 新闻来源 N
        start_date:datetime 新闻发布开始时间 N
        end_date:datetime 新闻发布结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        title:str 标题 Y
        content:str 内容 N
        pub_time:str 发布时间 Y
        src:str 来源网站 Y
        url:str 原文链接 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'title' : 'str', 'content' : 'str', 'pub_time' : 'str', 'src' : 'str', 'url' : 'str'}
        column_name_dict = {'title': '标题', 'content': '内容', 'pub_time': '发布时间', 'src': '来源网站', 'url': '原文链接'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="major_news",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def cctv_news(self,date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        新闻联播
        https://tushare.pro/document/2?doc_id=154
        <参数>
        date:str 开始时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        title:str 标题 Y
        content:str 内容 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'title' : 'str', 'content' : 'str'}
        column_name_dict = {'date': '日期', 'title': '标题', 'content': '内容'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="cctv_news",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def anns_d(self,ts_code: str = None, ann_date: str = None, start_date: str = None, end_date: str = None, title: str = None, limit: str = None, offset: str = None,fields:str='' )->Query:
        """
        全量公告
        https://tushare.pro/document/2?doc_id=176
        <参数>
        ts_code:str 股票代码 N
        ann_date:str 公告日期 N
        start_date:str 公告开始日期 N
        end_date:str 公告结束日期 N
        title:str 标题 N
        limit:str  N
        offset:str  N
        <返回结果>
        ann_date:str 公告日期 Y
        ts_code:str 股票代码 Y
        name:str 股票名称 Y
        title:str 标题 Y
        url:str URL Y
        rec_time:datetime 发布时间 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ann_date' : 'str', 'ts_code' : 'str', 'name' : 'str', 'title' : 'str', 'url' : 'str', 'rec_time' : 'str'}
        column_name_dict = {'ann_date': '公告日期', 'ts_code': 'ts_code', 'name': '股票名称', 'title': '标题', 'url': 'URL', 'rec_time': '发布时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="anns_d",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def irm_qa_sh(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, pub_start: str = None, pub_end: str = None, offset: str = None, limit: str = None,fields:str='' )->Query:
        """
        上证E互动
        https://tushare.pro/document/2?doc_id=366
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（格式：YYYYMMDD，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        pub_start:str 发布开始时间(格式：2025-06-03 16:43:03) N
        pub_end:str 发布结束时间 N
        offset:str  N
        limit:str  N
        <返回结果>
        ts_code:str 股票代码 Y
        name:str 公司名称 Y
        trade_date:str 日期 Y
        q:str 问题 Y
        a:str 回复 Y
        pub_time:datetime 回复时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'trade_date' : 'str', 'q' : 'str', 'a' : 'str', 'pub_time' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '公司名称', 'trade_date': '日期', 'q': '问题', 'a': '回复', 'pub_time': '回复时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="irm_qa_sh",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def irm_qa_sz(self,ts_code: str = None, trade_date: str = None, start_date: str = None, end_date: str = None, pub_start: str = None, pub_end: str = None, offset: str = None, limit: str = None,fields:str='' )->Query:
        """
        深证互动易
        https://tushare.pro/document/2?doc_id=367
        <参数>
        ts_code:str 股票代码 N
        trade_date:str 交易日期（格式：YYYYMMDD，下同） N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        pub_start:datetime 发布开始时间(格式：2025-06-03 16:43:03) N
        pub_end:datetime 发布结束时间 N
        offset:str  N
        limit:str  N
        <返回结果>
        ts_code:str 股票代码 Y
        name:str 公司名称 Y
        trade_date:str 发布时间 Y
        q:str 问题 Y
        a:str 回复 Y
        pub_time:str 答复时间 Y
        industry:str 涉及行业 英文逗号隔开 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'ts_code' : 'str', 'name' : 'str', 'trade_date' : 'str', 'q' : 'str', 'a' : 'str', 'pub_time' : 'str', 'industry' : 'str'}
        column_name_dict = {'ts_code': 'ts_code', 'name': '公司名称', 'trade_date': '发布时间', 'q': '问题', 'a': '回复', 'pub_time': '答复时间', 'industry': '涉及行业英文逗号隔开'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="irm_qa_sz",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def coinlist(self,issue_date: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        全球数字货币列表
        https://tushare.pro/document/2?doc_id=54
        <参数>
        issue_date:str 发行日期 N
        start_date:str 开始日期 N
        end_date:str 结束日期 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        coin:str 货币代码 Y
        en_name:str 英文名称 Y
        cn_name:str 中文名称 Y
        issue_date:str 发行日期 Y
        issue_price:float 发行价格（美元） 
        amount:float 发行总量 Y
        supply:float 流通总量 N
        algo:str 算法原理 N
        area:str 发行地区 N
        desc:str 描述 N
        labels:str 标签分类 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'coin' : 'str', 'en_name' : 'str', 'cn_name' : 'str', 'issue_date' : 'str', 'issue_price' : 'float', 'amount' : 'float', 'supply' : 'float', 'algo' : 'str', 'area' : 'str', 'desc' : 'str', 'labels' : 'str'}
        column_name_dict = {'coin': '货币代码', 'en_name': '英文名称', 'cn_name': '中文名称', 'issue_date': '发行日期', 'issue_price': '发行价格美元', 'amount': '发行总量', 'supply': '流通总量', 'algo': '算法原理', 'area': '发行地区', 'desc': '描述', 'labels': '标签分类'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="coinlist",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def coinpair(self,trade_date: str = None, exchange: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        交易所交易对
        https://tushare.pro/document/2?doc_id=51
        <参数>
        trade_date:str 日期 N
        exchange:str 交易所 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 日期 Y
        exchange:str 交易所 Y
        exchange_pair:str 交易所原始交易对名称 Y
        ts_pair:str Tushare标准名称 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'exchange' : 'str', 'exchange_pair' : 'str', 'ts_pair' : 'str'}
        column_name_dict = {'trade_date': '日期', 'exchange': '交易所', 'exchange_pair': '交易所原始交易对名称', 'ts_pair': 'Tushare标准名称'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="coinpair",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def coinexchanges(self,exchange: str = None, area_code: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        全球数字货币交易所
        https://tushare.pro/document/2?doc_id=66
        <参数>
        exchange:str 交易所 N
        area_code:str 地区 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        exchange:str 交易所代码 Y
        name:str 交易所名称 Y
        pairs:int 交易对数量 Y
        area_code:str 所在地区代码 Y
        area:str 所在地区 
        coin_trade:str 支持现货交易 Y
        fut_trade:str 支持期货交易 Y
        oct_trade:str 支持场外交易 Y
        deep_share:str 支持共享交易深度 N
        mineable:str 支持挖矿交易 N
        desc:str 交易所简介 N
        website:str 交易所官网 N
        twitter:str 交易所twitter N
        facebook:str 交易所facebook N
        weibo:str 交易所weibo N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'exchange' : 'str', 'name' : 'str', 'pairs' : 'int', 'area_code' : 'str', 'area' : 'str', 'coin_trade' : 'str', 'fut_trade' : 'str', 'oct_trade' : 'str', 'deep_share' : 'str', 'mineable' : 'str', 'desc' : 'str', 'website' : 'str', 'twitter' : 'str', 'facebook' : 'str', 'weibo' : 'str'}
        column_name_dict = {'exchange': '交易所代码', 'name': '交易所名称', 'pairs': '交易对数量', 'area_code': '所在地区代码', 'area': '所在地区', 'coin_trade': '支持现货交易', 'fut_trade': '支持期货交易', 'oct_trade': '支持场外交易', 'deep_share': '支持共享交易深度', 'mineable': '支持挖矿交易', 'desc': '交易所简介', 'website': '交易所官网', 'twitter': '交易所twitter', 'facebook': '交易所facebook', 'weibo': '交易所weibo'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="coinexchanges",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def coincap(self,trade_date: str = None, coin: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        数字货币每日市值
        https://tushare.pro/document/2?doc_id=57
        <参数>
        trade_date:str 日期 Y
        coin:str coin代码 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 交易日期 Y
        coin:str 货币代码 Y
        name:str 货币名称 Y
        marketcap:str 市值（美元） Y
        price:float 当前时间价格（美元） 
        vol24:float 24小时成交额（美元） Y
        supply:float 流通总量 N
        create_time:str 数据采集时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'coin' : 'str', 'name' : 'str', 'marketcap' : 'str', 'price' : 'float', 'vol24' : 'float', 'supply' : 'float', 'create_time' : 'str'}
        column_name_dict = {'trade_date': '交易日期', 'coin': '货币代码', 'name': '货币名称', 'marketcap': '市值美元', 'price': '当前时间价格美元', 'vol24': '24小时成交额美元', 'supply': '流通总量', 'create_time': '数据采集时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="coincap",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def coinfees(self,exchange: str = None, asset_type: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        交易所交易费率
        https://tushare.pro/document/2?doc_id=64
        <参数>
        exchange:str 交易所 Y
        asset_type:str 交易类别coin币交易 future期货交易 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        exchange:str 交易所 Y
        level:str 交易级别和类型 Y
        maker_fee:float 挂单费率 Y
        taker_fee:float 吃单费率 Y
        asset_type:str 资产类别 coin币交易 future期货交易 Y
        start_date:str 费率开始执行日期 N
        end_date:str 本次费率失效日期 N
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'exchange' : 'str', 'level' : 'str', 'maker_fee' : 'float', 'taker_fee' : 'float', 'asset_type' : 'str', 'start_date' : 'str', 'end_date' : 'str'}
        column_name_dict = {'exchange': '交易所', 'level': '交易级别和类型', 'maker_fee': '挂单费率', 'taker_fee': '吃单费率', 'asset_type': '资产类别coin币交易future期货交易', 'start_date': '费率开始执行日期', 'end_date': '本次费率失效日期'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="coinfees",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def btc_marketcap(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        比特币每日市值
        https://tushare.pro/document/2?doc_id=76
        <参数>
        start_date:str 开始时间 Y
        end_date:str 结束时间 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        marketcap:float 市值 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'marketcap' : 'float'}
        column_name_dict = {'date': '日期', 'marketcap': '市值'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="btc_marketcap",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def btc_pricevol(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        比特币每日量价
        https://tushare.pro/document/2?doc_id=77
        <参数>
        start_date:str 开始时间 Y
        end_date:str 结束时间 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        date:str 日期 Y
        price:float 价格 Y
        volume:float 交易量 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'date' : 'str', 'price' : 'float', 'volume' : 'float'}
        column_name_dict = {'date': '日期', 'price': '价格', 'volume': '交易量'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="btc_pricevol",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def ubindex_constituents(self,index_name: str = None, start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        优币指数成分
        https://tushare.pro/document/2?doc_id=99
        <参数>
        index_name:str 指数名称 Y
        start_date:str 开始日期，格式：yyyymmdd Y
        end_date:str 结束日期，格式：yyyymmdd Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        trade_date:str 日期 Y
        index_name:str 指数名称 Y
        symbol:str 成分货币简称 Y
        circulated_cap:float 计算周期内日流动市值均值 N
        sqrt_cap:float 计算周期内日流动市值均值平方根 N
        weight:float 计算周期内权重 Y
        price:float 指数日价格 N
        create_time:datetime 入库时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'trade_date' : 'str', 'index_name' : 'str', 'symbol' : 'str', 'circulated_cap' : 'float', 'sqrt_cap' : 'float', 'weight' : 'float', 'price' : 'float', 'create_time' : 'str'}
        column_name_dict = {'trade_date': '日期', 'index_name': '指数名称', 'symbol': '成分货币简称', 'circulated_cap': '计算周期内日流动市值均值', 'sqrt_cap': '计算周期内日流动市值均值平方根', 'weight': '计算周期内权重', 'price': '指数日价格', 'create_time': '入库时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="ubindex_constituents",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def coin_bar(self,ts_code: str = None, symbol: str = None, exchange: str = None, freq: str = None, start_date: str = None, end_date: str = None, is_contract: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        数字货币分钟
        https://tushare.pro/document/2?doc_id=238
        <参数>
        ts_code:str 代码 N
        symbol:str 交易所原始代码 N
        exchange:str 交易所 N
        freq:str 频度 N
        start_date:datetime 开始日期 N
        end_date:datetime 结束日期 N
        is_contract:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        exchange:str 交易所 Y
        ts_code:str TS代码 Y
        symbol:str 交易所原始代码 Y
        freq:str 频度 Y
        trade_time:str 交易时间 Y
        open:float 开盘价 Y
        close:float 收盘价 Y
        high:float 最高价 Y
        low:float 最低价 Y
        vol:float 成交量 Y
        is_contract:str 是否合约 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'exchange' : 'str', 'ts_code' : 'str', 'symbol' : 'str', 'freq' : 'str', 'trade_time' : 'str', 'open' : 'float', 'close' : 'float', 'high' : 'float', 'low' : 'float', 'vol' : 'float', 'is_contract' : 'str'}
        column_name_dict = {'exchange': '交易所', 'ts_code': 'ts_code', 'symbol': '交易所原始代码', 'freq': '频度', 'trade_time': '交易时间', 'open': '开盘价', 'close': '收盘价', 'high': '最高价', 'low': '最低价', 'vol': '成交量', 'is_contract': '是否合约'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="coin_bar",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def coin_pair(self,exchange: str = None, ts_code: str = None, status: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        交易所交易对（新）
        https://tushare.pro/document/2?doc_id=258
        <参数>
        exchange:str 交易所 N
        ts_code:str 交易对代码 N
        status:str  N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        exchange:str 交易所 Y
        symbol:str 交易对 Y
        is_contract:str 是否合约 Y
        status:str 状态Y可用N不可用 Y
        base_coin:str  Y
        price_coin:str  Y
        listing:datetime  Y
        delivery:datetime  Y
        listing:datetime  Y
        delivery:datetime  Y
        create_time:datetime  Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'exchange' : 'str', 'symbol' : 'str', 'is_contract' : 'str', 'status' : 'str', 'base_coin' : 'str', 'price_coin' : 'str', 'listing' : 'str', 'delivery' : 'str', 'listing' : 'str', 'delivery' : 'str', 'create_time' : 'str'}
        column_name_dict = {'exchange': '交易所', 'symbol': '交易对', 'is_contract': '是否合约', 'status': '状态Y可用N不可用', 'base_coin': '', 'price_coin': '', 'listing': '', 'delivery': '', 'listing': '', 'delivery': '', 'create_time': ''}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="coin_pair",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def jinse(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        金色财经
        https://tushare.pro/document/2?doc_id=70
        <参数>
        start_date:str 开始时间 N
        end_date:str 结束时间 N
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        title:str 标题 Y
        content:str 内容 Y
        type:str 类型 Y
        url:str URL Y
        datetime:str 时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'title' : 'str', 'content' : 'str', 'type' : 'str', 'url' : 'str', 'datetime' : 'str'}
        column_name_dict = {'title': '标题', 'content': '内容', 'type': '类型', 'url': 'URL', 'datetime': '时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="jinse",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def btc8(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        巴比特
        https://tushare.pro/document/2?doc_id=71
        <参数>
        start_date:datetime 开始时间 Y
        end_date:datetime 结束时间 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        title:str 标题 Y
        content:str 内容 Y
        type:str 类型 Y
        url:str URL Y
        datetime:str 时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'title' : 'str', 'content' : 'str', 'type' : 'str', 'url' : 'str', 'datetime' : 'str'}
        column_name_dict = {'title': '标题', 'content': '内容', 'type': '类型', 'url': 'URL', 'datetime': '时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="btc8",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def bishijie(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        币世界
        https://tushare.pro/document/2?doc_id=73
        <参数>
        start_date:datetime 开始时间 Y
        end_date:datetime 结束时间 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        title:str 标题 Y
        content:str 内容 Y
        type:str 类型 Y
        url:str URL Y
        datetime:str 时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'title' : 'str', 'content' : 'str', 'type' : 'str', 'url' : 'str', 'datetime' : 'str'}
        column_name_dict = {'title': '标题', 'content': '内容', 'type': '类型', 'url': 'URL', 'datetime': '时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="bishijie",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def exchange_ann(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        交易所公告(mytoken)
        https://tushare.pro/document/2?doc_id=74
        <参数>
        start_date:datetime 开始时间 Y
        end_date:datetime 结束时间 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        title:str 标题 Y
        content:str 内容 Y
        type:str 类型 Y
        url:str URL Y
        datetime:str 时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'title' : 'str', 'content' : 'str', 'type' : 'str', 'url' : 'str', 'datetime' : 'str'}
        column_name_dict = {'title': '标题', 'content': '内容', 'type': '类型', 'url': 'URL', 'datetime': '时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="exchange_ann",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def exchange_twitter(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        数字货币交易所Twitter
        https://tushare.pro/document/2?doc_id=92
        <参数>
        start_date:datetime 开始时间 Y
        end_date:datetime 结束时间 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        id:int 记录ID Y
        account_id:int 交易所账号ID Y
        account:str 交易所账号 N
        nickname:str 交易所昵称 N
        avatar:str 头像 N
        content_id:int 类容ID Y
        content:str 内容 Y
        is_retweet:int 是否转发 Y
        retweet_content:json 转发内容 Y
        media:json 附件 Y
        posted_at:int 发布时间戳 Y
        content_translation:str 内容翻译 Y
        str_posted_at:str 发布时间，根据posted_at转换而来 Y
        create_at:str 采集时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'id' : 'int', 'account_id' : 'int', 'account' : 'str', 'nickname' : 'str', 'avatar' : 'str', 'content_id' : 'int', 'content' : 'str', 'is_retweet' : 'int', 'retweet_content' : 'str', 'media' : 'str', 'posted_at' : 'int', 'content_translation' : 'str', 'str_posted_at' : 'str', 'create_at' : 'str'}
        column_name_dict = {'id': '记录ID', 'account_id': '交易所账号ID', 'account': '交易所账号', 'nickname': '交易所昵称', 'avatar': '头像', 'content_id': '类容ID', 'content': '内容', 'is_retweet': '是否转发', 'retweet_content': '转发内容', 'media': '附件', 'posted_at': '发布时间戳', 'content_translation': '内容翻译', 'str_posted_at': '发布时间，根据posted_at转换而来', 'create_at': '采集时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="exchange_twitter",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    


    def twitter_kol(self,start_date: str = None, end_date: str = None, limit: int = None, offset: int = None,fields:str='' )->Query:
        """
        Twitter大V数据
        https://tushare.pro/document/2?doc_id=105
        <参数>
        start_date:datetime 开始时间 Y
        end_date:datetime 结束时间 Y
        limit:int 单次返回数据长度 N
        offset:int 请求数据的开始位移量 N
        <返回结果>
        id:int 记录ID Y
        account_id:int 账号ID Y
        account:str 账号 N
        nickname:str 大V昵称 N
        avatar:str 头像 N
        content_id:int 类容ID Y
        content:str 内容 Y
        is_retweet:int 是否转发 Y
        retweet_content:json 转发内容 Y
        media:json 附件 Y
        posted_at:int 发布时间戳 Y
        content_translation:str 内容翻译 Y
        str_posted_at:str 发布时间，根据posted_at转换而来 Y
        create_at:str 采集时间 Y
        """
        params = locals().copy()
        real_params = {}
        column_type_dict = {'id' : 'int', 'account_id' : 'int', 'account' : 'str', 'nickname' : 'str', 'avatar' : 'str', 'content_id' : 'int', 'content' : 'str', 'is_retweet' : 'int', 'retweet_content' : 'str', 'media' : 'str', 'posted_at' : 'int', 'content_translation' : 'str', 'str_posted_at' : 'str', 'create_at' : 'str'}
        column_name_dict = {'id': '记录ID', 'account_id': '账号ID', 'account': '账号', 'nickname': '大V昵称', 'avatar': '头像', 'content_id': '类容ID', 'content': '内容', 'is_retweet': '是否转发', 'retweet_content': '转发内容', 'media': '附件', 'posted_at': '发布时间戳', 'content_translation': '内容翻译', 'str_posted_at': '发布时间，根据posted_at转换而来', 'create_at': '采集时间'}
        for k, v in params.items():
            if v is not None and  k !='self':
                real_params[k] = v
        return Query(method="twitter_kol",fields=fields, params=real_params,return_column_type_dict=column_type_dict,return_column_name_dict=column_name_dict,token=self.token)    
    

    def pro_bar(self, ts_code='', start_date='', end_date='', freq='D', asset='E',
                exchange='',
                adj=None,
                ma=[],
                factors=None,
                adjfactor=False,
                retry_count=3):
        """
        BAR数据
        Parameters:
        ------------
        ts_code:证券代码，支持股票,ETF/LOF,期货/期权,港股,数字货币
        start_date:开始日期  YYYYMMDD
        end_date:结束日期 YYYYMMDD
        freq:支持日/周/月/季/年
        asset:证券类型 E:股票和交易所基金，I:沪深指数,FT:期货 FD:基金/O期权/H港股/CB可转债
        exchange:市场代码，用户数字货币行情
        adj:复权类型,None不复权,qfq:前复权,hfq:后复权
        factors因子数据，目前支持以下两种：
            vr:量比,默认不返回，返回需指定：factor=['vr']
            tor:换手率，默认不返回，返回需指定：factor=['tor']
                        以上两种都需要：factor=['vr', 'tor']
        retry_count:网络重试次数

        Return
        ----------
        DataFrame
        code:代码
        open：开盘close/high/low/vol成交量/amount成交额/maN均价/vr量比/tor换手率

             期货(asset='FT')
        code/open/close/high/low/avg_price：均价  position：持仓量  vol：成交总量
        """
        if (ts_code == '' or ts_code is None) and (adj is not None):
            print('提取复权行情必须输入ts_code参数')
            return
        if len(freq.strip()) >= 3:
            freq = freq.strip().lower()
        else:
            freq = freq.strip().upper() if asset != 'C' else freq.strip().lower()

        if 'min' not in freq:
            today = dt.datetime.today().date()
            today = str(today)[0:10]
            start_date = '' if start_date is None else start_date
            end_date = today if end_date == '' or end_date is None else end_date
            start_date = start_date.replace('-', '')
            end_date = end_date.replace('-', '')
        ts_code = ts_code.strip().upper() if asset != 'C' else ts_code.strip().lower()
        asset = asset.strip().upper()
        for _ in range(retry_count):
            try:
                if asset == 'E':
                    if freq == 'D':
                        data = self.daily(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                        if factors is not None and len(factors) > 0:
                            ds = self.daily_basic(ts_code=ts_code, start_date=start_date, end_date=end_date).get()[
                                    ['trade_date', 'turnover_rate', 'volume_ratio']]
                            ds = ds.set_index('trade_date')
                            data = data.set_index('trade_date')
                            data = data.merge(ds, left_index=True, right_index=True)
                            data = data.reset_index()
                            if ('tor' in factors) and ('vr' not in factors):
                                data = data.drop('volume_ratio', axis=1)
                            if ('vr' in factors) and ('tor' not in factors):
                                data = data.drop('turnover_rate', axis=1)
                    if freq == 'W':
                        data = self.weekly(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                    if freq == 'M':
                        data = self.monthly(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                    if adj is not None:
                        fcts = self.adj_factor(ts_code=ts_code, start_date=start_date, end_date=end_date).get()[
                            ['trade_date', 'adj_factor']]
                        if fcts.shape[0] == 0:
                            return None
                        data = data.set_index('trade_date', drop=False).merge(fcts.set_index('trade_date'),
                                                                              left_index=True,
                                                                              right_index=True, how='left')
                        data['adj_factor'] = data['adj_factor'].bfill().fillna(1)
                        for col in PRICE_COLS:
                            if adj == 'hfq':
                                data[col] = data[col] * data['adj_factor']
                            if adj == 'qfq':
                                data[col] = data[col] * data['adj_factor'] / float(fcts['adj_factor'][0])
                            data[col] = data[col].map(FORMAT)
                            data[col] = data[col].astype(float)
                        if adjfactor is False:
                            data = data.drop('adj_factor', axis=1)
                        if 'min' not in freq:
                            data['change'] = data['close'] - data['pre_close']
                            data['pct_chg'] = data['change'] / data['pre_close'] * 100
                            data['pct_chg'] = data['pct_chg'].map(lambda x: FORMAT(x)).astype(float)
                        else:
                            data = data.drop(['trade_date', 'pre_close'], axis=1)
                elif asset == 'I':
                    if freq == 'D':
                        data = self.index_daily(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                    if freq == 'W':
                        data = self.index_weekly(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                    if freq == 'M':
                        data = self.index_monthly(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                elif asset == 'FT':
                    if freq == 'D':
                        data = self.fut_daily(ts_code=ts_code, start_date=start_date, end_date=end_date,
                                              exchange=exchange).get()
                elif asset == 'O':
                    if freq == 'D':
                        data = self.opt_daily(ts_code=ts_code, start_date=start_date, end_date=end_date,
                                              exchange=exchange).get()
                elif asset == 'CB':
                    if freq == 'D':
                        data = self.cb_daily(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                elif asset == 'FD':
                    if freq == 'D':
                        data = self.fund_daily(ts_code=ts_code, start_date=start_date, end_date=end_date).get()
                if ma is not None and len(ma) > 0:
                    for a in ma:
                        if isinstance(a, int):
                            data['ma%s' % a] = MA(data['close'], a).map(FORMAT).shift(-(a - 1))
                            data['ma%s' % a] = data['ma%s' % a].astype(float)
                            data['ma_v_%s' % a] = MA(data['vol'], a).map(FORMAT).shift(-(a - 1))
                            data['ma_v_%s' % a] = data['ma_v_%s' % a].astype(float)
                data = data.reset_index(drop=True)
            except Exception as e:
                print(e)
            else:
                return data
        raise IOError('ERROR.')

